Installieren Sie eine Open-Source-Dateiformat.Words für .NET und erfahren Sie, wie Sie die DOCX-Datei in C# programmatisch lesen. Diese API bietet Methoden zum Erstellen eines Wortdatei -Viewers.

Wie öffne ich eine DOCX -Datei in C#

Übersicht

Es ist nicht einfach, Business -Software zu erstellen, die sich mit der Erstellung und Manipulation von Dateien immens befasst. Zeit- und Menschenstunden sind kritische Faktoren, aber die Entscheidung für relevante Bibliotheken von Drittanbietern spielt eine wichtige Rolle in der Entwicklungsphase. Lassen Sie uns daher eine Open-Source–NET-Bibliothek durchlaufen, die eine breite Palette von Methoden bietet, um Word Dateien programmatisch zu manipulieren. Mit dieser API können Sie nicht nur Wortdateien erstellen/bearbeiten, sondern Sie können auch Business -Dokumente/DOCX -Dateien lesen. Wir sprechen über FileFormat.words ist ein komplettes Paket von Funktionen, die für die programmgesteuerte Verarbeitung von Word -Dokumenten erforderlich sind. In diesem Blog -Beitrag wird jedoch Ihre Frage beantwortet (d. H. Wie öffne ich eine DOCX -Datei in C#? ). Darüber hinaus können Sie bis zum Ende dieses Artikels einen Word -Datei -Leser erstellen. Wir werden die folgenden Punkte in diesem Leitfaden abdecken:

Word -Datei Viewer - API -Installation

Bitte besuchen Sie diesen Link, um den Installationsprozess im Detail durchzuführen. Andernfalls ist es recht einfach zu installieren, unabhängig davon, ob Sie es mit seinem Nuget -Paket installieren können oder den folgenden Befehl im Nuget -Paket -Manager ausführen können.

Install-Package FileFormat.Words

Wie öffne ich eine DOCX -Datei in C#

Sobald diese Open-Source .NET-API installiert ist, können Sie den Code sofort schreiben. Erstellen wir eine Word -Datei -Leserkomponente für Ihre Business -Software. Es gibt mehrere Methoden und Eigenschaften, um eine DOCX/DOCS -Datei zu lesen, aber wir werden einige herausragende Methoden/Eigenschaften verwenden. Sie können die folgenden Schritte und den Code -Snippet befolgen:

  • Initialisieren Sie eine Instanz des Dokuments -Klasses und laden Sie die Datei docx/docs.
  • Instanziieren Sie ein Objekt der Körper Klasse.
  • Rufen Sie die getDocumentTables.count () -Methode auf, die die Gesamtzahl der Tabellen in einem Dokument zurückgibt.
  • Die Eigenschaft getDocumentTables gibt die Tabelleneigenschaften zurück.
  • Die Eigenschaft vorhandenerTableHeaders gibt die Tabellenkopfzeile zurück.
  • Rufen Sie die Eigenschaft numberofrows auf, um auf die Tabellenreihen zuzugreifen.
  • Verwenden Sie die Eigenschaft numberofcolumns, um die Anzahl der Spalten abzurufen.
  • Zugriff auf die Anzahl der Zellen unter Verwendung der Eigenschaft numberofcells.
  • Die Eigenschaft tableBorder wird verwendet, um den Grenzstil zu lesen.
  • Verwenden Sie die Eigenschaft Tabelle, um die Position der Tabelle zu erhalten.
  • Rufen Sie die Methode ExtractImages aus auf, um alle Bilder aus einem Wortdokument zu erhalten.
  • Rufen Sie die Methode Get -Absätze an, um alle Dokumentabsätze abzurufen.
  • Die Eigenschaft linesspacing wird verwendet, um den Abstand zwischen den Linien zu kennen.
  • Die Eigenschaft Einzug wird verwendet, um den Wert der Eindrücke zu kennen.
  • Holen Sie sich den Text des Absatzes, indem Sie die Eigenschaft von Text aufrufen.
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);
                }

            }

        }

    }
}

Das obige Code -Snippet liest eine Wortdatei, die einen Absatz, eine Tabelle und ein Bild enthält. Sie können jedoch die Ausgabe im Bild unten sehen:

Word -Datei -Leser

Schlussfolgerung

Wir beenden diesen Blog -Beitrag hier. Wir hoffen, dass Sie die Antwort auf Ihre Frage haben (d. H. Wie öffne ich eine DOCX -Datei in C#? ). Darüber hinaus haben wir das Code -Snippet durchgesehen, das programmatisch ein vorhandenes Wortdokument liest. Jetzt können Sie einfach ein Modul erstellen, das wie ein Word -Datei -Viewer funktioniert. Vergessen Sie außerdem nicht, die Dokumentation von FileFormat.words für .NET zu besuchen. Schließlich schreibt FileFormat.com weiterhin Blog -Beiträge zu anderen Themen. Darüber hinaus können Sie uns auf unseren Social -Media -Plattformen folgen, einschließlich Facebook, LinkedIn und Twitter.

beitragen

Da FileFormat.words für .NET ein Open-Source-Projekt ist und auf Github verfügbar ist. Der Beitrag der Gemeinschaft wird also sehr geschätzt.

stellen Sie eine Frage

Sie können uns über Ihre Fragen oder Abfragen in unserem Forum informieren.

häufig gestellte Fragen-FAQs

** Wie öffne ich eine DOCX -Datei ohne Wort?** Sie können docx/docs-Dateien mit dieser Open-Source .NET-Bibliothek FileFormat.Words öffnen. Darüber hinaus können Sie ein Word -Datei -Lesermodul für Ihre Geschäftsanwendung mit dieser Bibliothek erstellen.

Siehe auch