为.NET安装一个开源fileformat.words,以编程方式学习如何在C#中读取DOCX文件。此API提供了构建Word文件查看器的方法。

如何在C#中打开DOCX文件

概述

建立涉及文件创建和操纵的业务软件并不容易。时间和人小时是关键因素,但是选择相关的第三方图书馆在发展阶段起着至关重要的作用。因此,让我们浏览一个开源.NET库,该库提供了多种方法来操纵Word文件。此API不仅可以创建/编辑Word文件,还可以读取业务文档/DOCX文件。我们正在谈论fileformat.words是通过编程处理Word文档所需的完整功能包。但是,这篇博客文章将回答您的问题(即 如何在C#? 中打开DOCX文件)。此外,您将能够在本文末尾构建Word文件读取器。 我们将在本指南中介绍以下几点:

Word文件查看器 - API安装

请访问此链接,以详细介绍安装过程。否则,无论您可以使用其Nuget package还是通过在Nuget Package Manager中运行以下命令来安装它。

Install-Package FileFormat.Words

如何在C#中打开DOCX文件

安装了此开源.NET API后,您可以立即开始编写代码。让我们为您的业务软件构建Word文件读取器组件。有多种方法和属性可以读取DOCX/DOCS文件,但我们将使用一些突出的方法/属性。 您可以按照以下步骤和代码段:

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);
                }

            }

        }

    }
}

上面的代码段读取一个文字文件,其中包含一个段落,一个表和一个图像。但是,您可以在下图中看到输出:

Word文件读取器

结论

我们在这里结束这篇博客文章。我们希望您对您的问题有答案(即 如何在C#? 中打开DOCX文件)。此外,我们已经完成了代码段,该代码段是通过编程方式读取现有Word文档的。现在,您可以轻松地构建一个像 Word File Viewer 一样工作的模块。此外,不要忘记访问.NET的FileFormat.WordsDocumentation。 最后,fileformat.com继续写有关其他主题的博客文章。此外,您可以在我们的社交媒体平台上关注我们,包括FacebookLinkedInTwitter

贡献

由于.NET的FileFormat.Words是一个开源项目,可在GitHub上找到。因此,社区的贡献非常感谢。

问一个问题

您可以在我们的论坛上让我们知道您的问题或查询。

常见问题 - 常见问题

如何打开一个没有单词的DOCX文件? 您可以使用此开源.NET库FileFormat.Words打开DOCX/DOCS文件。此外,您可以使用此Library为您的业务应用程序构建Word文件读取器模块。

另请参见