编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

C#编程之道:操作Word文档的实际方法

wxchong 2024-07-06 01:09:04 开源技术 26 ℃ 0 评论

在 C# 中操作 Word 文档通常涉及两个主要的方法:使用 Microsoft Office Interop 库或使用第三方库如 DocX 、 Spire.Doc等。

1. 使用 Microsoft Office Interop

首先,确保已安装 Microsoft Office,并在项目中添加对 Microsoft.Office.Interop.Word 的引用。然后,你可以使用以下代码:

using System;
using Microsoft.Office.Interop.Word;

class Program
{
    static void Main()
    {
        Application wordApp = new Application();
        Document doc = wordApp.Documents.Open(@"C:\path\to\your\document.docx");

        // 读取文档内容
        foreach (Paragraph para in doc.Paragraphs)
        {
            Console.WriteLine(para.Range.Text);
        }

        // 添加新内容
        doc.Content.Text += "\n这是新添加的内容。";

        // 保存并关闭
        doc.Save();
        doc.Close();
        wordApp.Quit();

        Console.WriteLine("Word 文档处理完成!");
    }
}

注意:使用 Office Interop 需要在运行代码的机器上安装 Microsoft Office,且此方法只适用于 Windows 系统。

2. 使用 DocX 库

DocX 是一个不依赖于 Microsoft Office 的库,可用于创建和编辑 Word 文档。首先,通过 NuGet 安装 DocX 库:

dotnet add package DocX

然后,使用以下代码:

using System;
using Xceed.Words.NET;

class Program
{
    static void Main()
    {
        string filePath = @"C:\path\to\your\document.docx";

        // 加载文档
        using (DocX document = DocX.Load(filePath))
        {
            // 读取文档内容
            foreach (Paragraph para in document.Paragraphs)
            {
                Console.WriteLine(para.Text);
            }

            // 添加新内容
            document.InsertParagraph("这是新添加的内容。");

            // 保存更改
            document.SaveAs(@"C:\path\to\new\document.docx");
        }

        Console.WriteLine("Word 文档处理完成!");
    }
}

DocX 库在处理 Word 文档时不需要 Microsoft Office,同时它提供了易于使用的 API,适用于跨平台开发。

3. Spire.Doc

Spire.Doc 是一个功能强大的第三方库,可以用来创建、读取、修改和保存 Word 文档,无需安装 Microsoft Office。它支持 .NET Framework、.NET Core、Mono 等,并提供了大量的功能,包括但不限于文档格式化、图表、图像、表格等。

首先,通过 NuGet 安装 Spire.Doc 库:

dotnet add package Spire.Doc

然后,使用以下代码示例:

using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;

class Program
{
    static void Main()
    {
        // 加载文档
        Document document = new Document();
        document.LoadFromFile(@"C:\path\to\your\document.docx");

        // 遍历所有段落
        foreach (Section section in document.Sections)
        {
            foreach (Paragraph paragraph in section.Paragraphs)
            {
                Console.WriteLine(paragraph.Text);
            }
        }

        // 添加新内容
        Section section = document.AddSection();
        Paragraph para = section.AddParagraph();
        para.AppendText("这是新添加的内容。");

        // 保存文档
        document.SaveToFile("UpdatedDocument.docx", FileFormat.Docx);
    }
}

4. Aspose.Words

Aspose.Words 是另一个强大的工具,可以用于处理 Word 文档。它支持多种平台和格式,并提供了广泛的功能,包括文档创建、内容编辑、格式设置等。

安装 Aspose.Words:

dotnet add package Aspose.Words

示例代码:

using Aspose.Words;

class Program
{
    static void Main()
    {
        // 加载文档
        Document doc = new Document(@"C:\path\to\your\document.docx");

        // 读取内容
        foreach (Paragraph para in doc.GetChildNodes(NodeType.Paragraph, true))
        {
            Console.WriteLine(para.GetText());
        }

        // 添加内容
        DocumentBuilder builder = new DocumentBuilder(doc);
        builder.MoveToDocumentEnd();
        builder.Writeln("这是新添加的内容。");

        // 保存文档
        doc.Save("UpdatedDocument.docx");
    }
}

5. GemBox.Document

GemBox.Document 是一个用于处理 Word 文档的 .NET 组件,它提供了一个简单但功能强大的 API,适用于快速高效地操作 Word 文档。

安装 GemBox.Document:

dotnet add package GemBox.Document

示例代码:

using GemBox.Document;

class Program
{
    static void Main()
    {
        ComponentInfo.SetLicense("FREE-LIMITED-KEY");

        // 加载文档
        DocumentModel document = DocumentModel.Load(@"C:\path\to\your\document.docx");

        // 读取和添加内容
        // ...

        // 保存文档
        document.Save("UpdatedDocument.docx");
    }
}

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表