Zainstaluj plik open source FileFormat.Words dla .NET, naucz się programowo czytać plik DOCX w C#. Ten interfejs API oferuje metody tworzenia przeglądarki plików słów.
Przegląd
Nie jest łatwo zbudować oprogramowanie biznesowe, które ogromnie zajmuje się tworzeniem i manipulacją plików. Godziny czasu i człowieka są czynnikami krytycznymi, ale wybieranie odpowiednich bibliotek stron trzecich odgrywa istotną rolę w fazie rozwoju. Dlatego przejdźmy do biblioteki .NET open source, która oferuje szeroki zakres metod manipulowania Word plików. Ten interfejs API pozwala nie tylko tworzyć/edytować pliki słów, ale można również czytać pliki Docs/Docx. Mówimy o FileFormat.Words to kompletny pakiet funkcji niezbędnych do programowania dokumentów słów. Jednak ten post na blogu odpowie na twoje pytanie (tj. Jak otworzyć plik DOCX w C#? ). Ponadto do końca tego artykułu będziesz mógł zbudować czytnik plików słów. W tym przewodniku omówimy następujące punkty:
Przeglądarka plików słów - instalacja API
Odwiedź ten link, aby szczegółowo przejść proces instalacji. W przeciwnym razie jest dość łatwy do zainstalowania, niezależnie od tego, czy możesz go zainstalować za pomocą pakietu Nuget, czy uruchamiając następujące polecenie w Nuget Package Manager.
Install-Package FileFormat.Words
Jak otworzyć plik DOCX w C#
Po zainstalowaniu interfejsu API .NET open source możesz od razu zacząć pisać kod. Zbudujmy komponent czytnika plików Word dla oprogramowania biznesowego. Istnieje wiele metod i właściwości do odczytania pliku DOCX/DOCS, ale użyjemy kilku wyraźnych metod/właściwości. Możesz wykonać następujące kroki i fragment kodu:
- Zainicjuj instancję klasy Dokument i załaduj plik DOCX/DOCS.
- Utwórz obiekt klasy Body.
- Wzywaj metodę getDocumentTables.count (), która zwraca całkowitą liczbę tabel w dokumencie.
- Właściwość getDocumentTables zwraca właściwości tabeli.
- Właściwość IstnieyTableheaders zwraca nagłówki tabeli.
- Zadzwoń do właściwości NumberOfRows, aby uzyskać dostęp do wierszy tabeli.
- Użyj właściwości NumberOfColumns, aby pobrać liczbę kolumn.
- Dostęp do liczby komórek za pomocą właściwości NumberOfCells.
- Właściwość stolik służy do odczytania stylu granicznego.
- Użyj właściwości 16, aby uzyskać pozycję tabeli.
- Przywołaj metodę ExtractImagesFromDocument, aby uzyskać wszystkie obrazy z dokumentu Word.
- Zadzwoń do metody getpaRagrafs, aby odzyskać wszystkie akapity dokumentów.
- Właściwość LinessPacing służy do poznania odstępów między liniami.
- Właściwość wcięcie służy do poznania wartości wcięcia.
- Zdobądź tekst akapitu, wywołując właściwość tekst.
using FileFormat.Words;
using FileFormat.Words.Table;
namespace Example
{
class Program
{
static void Main(string[] args)
{
// Initialize an instance of the Document class and load the Docx/Docs file.
using (Document doc1 = new Document("/Docs.docx"))
{
// Instantiate an object of the Body class.
Body body1 = new Body(doc1);
// Invoke the getDocumentTables method that returns the total number of tables in a document.
Console.WriteLine("Total Number of Tables " + body1.getDocumentTables.Count());
int i = 0;
// The getDocumentTables property returns the table properties.
foreach (Table props in body1.getDocumentTables)
{
// The ExistingTableHeaders property returns the table headers.
foreach (string tableHeader in props.ExistingTableHeaders)
{
i++;
Console.WriteLine("Header"+i+": "+tableHeader);
}
// Call NumberOfRows property to access the table rows.
Console.WriteLine("Number of rows "+props.NumberOfRows);
// Use NumberOfColumns property to fetch number of columns.
Console.WriteLine("Number of columns " + props.NumberOfColumns);
// Access the number of cells using NumberOfCells property.
Console.WriteLine("Number of cells " + props.NumberOfCells);
Console.WriteLine("Cell width " + props.CellWidth);
// The TableBorder property is used to read the border style.
Console.WriteLine("Border style " + props.TableBorder);
// Use the TablePosition property to get the position of the table.
Console.WriteLine("Table position " + props.TablePosition);
Console.WriteLine(" ");
}
// Invoke the ExtractImagesFromDocument method to get all the images from a Word document.
List<Stream> imageParts = Image.ExtractImagesFromDocument(doc1);
int imageCount = imageParts.Count;
Console.WriteLine($"Total number of images: {imageCount}");
// Call the GetParagraphs method to retrieve all the document paragraphs.
List<Paragraph> paras = body1.GetParagraphs();
Console.WriteLine("The number of Paragraphs " + paras.Count());
foreach (Paragraph p in paras)
{
// The LinesSpacing property is used to know the spacing between the lines.
Console.WriteLine("Line spacing "+p.LinesSpacing);
// The Indent property is used to know the value of indentation.
Console.WriteLine("Indent value "+p.Indent);
// Get the text of the paragraph by calling the Text property.
Console.WriteLine(p.Text);
}
}
}
}
}
Powyższy fragment kodu odczytuje plik Word, który zawiera jeden akapit, jedną tabelę i obraz. Możesz jednak zobaczyć dane wyjściowe na poniższym obrazku:
Wniosek
Kończymy ten post na blogu tutaj. Mamy nadzieję, że masz odpowiedź na swoje pytanie (tj. Jak otworzyć plik DOCX w C#? ). Ponadto przeszliśmy przez fragment kodu, który programowo czyta istniejący dokument Word. Teraz możesz łatwo zbudować moduł, który działa jak przeglądarka plików Word . Ponadto nie zapomnij odwiedzić DokumentacjiFileFormat.Words for .NET. Wreszcie FileFormat.com nadal pisze posty na blogu na inne tematy. Ponadto możesz śledzić nas na naszych platformach społecznościowych, w tym Facebook, LinkedIn i Twitter.
Współmar
Ponieważ FileFormat.Words for .NET jest projektem typu open source i jest dostępny na github. Tak więc wkład społeczności jest bardzo mile widziany.
Zadaj pytanie
Możesz poinformować nas o swoich pytaniach lub zapytaniach na naszym forum.
Często zadawane pytania-FAQ
** Jak otworzyć plik DOCX bez słowa?** Możesz otworzyć pliki DOCX/DOCS za pomocą tej biblioteki Open-Source .NET FileFormat.Words. Ponadto możesz zbudować moduł czytnika plików Word dla swojej aplikacji biznesowej za pomocą tej biblioteka.