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.

Jak otworzyć plik DOCX w C#

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:

czytnik plików słów

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.

Zobacz także