在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
创建、编辑和管理Word 文档是许多应用程序的常见要求。 虽然有多种方法可以用 C# 创建和编辑 Word 文档,但最强大的方法之一是使用 Microsoft Interop 服务。 有了这个工具,您可以轻松地以编程方式处理 Word 文档。
在设置环境和开始编写代码之前,请确保您满足以下前提条件:
Visual Studio:确保您已Visual Studio在您的计算机上安装。如果没有,请从 Microsoft 官方网站下载并安装。
微软 Word:由于我们使用的是 Microsoft Interop,因此您应该具备MS Word安装在您的计算机上。 Interop 服务可与您机器上安装的 Microsoft Word 应用程序连接。
Basic C# Knowledge 了解基本的 C#
首先打开 Visual Studio 应用程序。 打开后,您将看到一个欢迎屏幕。
单击 "创建新项目"。
键入 "控制台应用程序(.NET框架)在搜索框中输入".NET"。
从结果中选择 "控制台应用程序(.NET框架)"然后点击 "下一步 "按钮。
为您的项目设置一个名称,然后单击 "创建 "按钮。
完成这些步骤后,Visual Studio 将为您生成一个新的 .NET Framework 控制台应用程序。 在Program.cs文件中,您会发现一个带有 "Main "方法的基本模板,这是控制台应用程序的入口点。
NuGet 是 .NET 的软件包管理器,已集成到 Visual Studio 中。 以下是如何使用它来安装 Microsoft.Office.Interop.Word
软件包:
在 Visual Studio 中,进入 "工具 "菜单。
选择 "NuGet 包管理器",然后选择 "管理解决方案的 NuGet 包..."。
在 NuGet 窗口中,点击 "浏览 "选项卡。
在搜索框中输入 "Microsoft.Office.Interop.Word",然后点击回车。
从搜索结果中选择 "Microsoft.Office.Interop.Word "软件包。
在右侧,确保选中您的控制台应用程序项目,然后点击 "安装 "按钮。
Visual Studio 现在将安装该软件包,并在项目中添加对它的引用。 本软件包包含必要的程序集和工具,以便从您的 C# 应用程序与 MS Word 进行交互。
虽然 Interop 提供了使用 Word 和 Excel 的强大功能,但它也有局限性。 IronWord 是一个专为 .NET 开发人员优化的多功能库。 IronWord 提供了比 Interop 更流畅的体验,尤其是在编辑 Word 文档任务方面。 它不仅要确保兼容性和性能,还要用直观的方法简化复杂的任务。 为便于比较,我将在MS Word后为每个用例提供 IronWord 代码片段,使用的是 IronWord 版本2024.1.2.
通常情况下,您可能需要编辑现有的 Word 文档,下面的示例展示了如何用 C# 来完成这项工作:
var WordApp = new Microsoft.Office.Interop.Word.Application();
var WordDoc = WordApp.Documents.Open(@"path_to_your_document.docx");
var WordApp = new Microsoft.Office.Interop.Word.Application();
var WordDoc = WordApp.Documents.Open(@"path_to_your_document.docx");
Dim WordApp = New Microsoft.Office.Interop.Word.Application()
Dim WordDoc = WordApp.Documents.Open("path_to_your_document.docx")
在上述代码中,将 path_to_your_document.docx 替换为 docx 文件的路径。
使用 IronWord 打开 Word 文档。
WordDocument doc = new WordDocument(@"path_to_your_document.docx");
WordDocument doc = new WordDocument(@"path_to_your_document.docx");
Dim doc As New WordDocument("path_to_your_document.docx")
从零开始创建 Word 文档:
var WordApp = new Microsoft.Office.Interop.Word.Application();
var WordDoc = WordApp.Documents.Add();
var WordApp = new Microsoft.Office.Interop.Word.Application();
var WordDoc = WordApp.Documents.Add();
Dim WordApp = New Microsoft.Office.Interop.Word.Application()
Dim WordDoc = WordApp.Documents.Add()
该代码片段将创建一个新的 Word 文档,您可以使用 C# 进行编写和编辑。
WordDocument doc = new WordDocument();
WordDocument doc = new WordDocument();
Dim doc As New WordDocument()
添加新的一段文字:
WordDoc.Paragraphs.Add();
WordDoc.Paragraphs [1].Range.Text = "This is the first paragraph.";
WordDoc.Paragraphs.Add();
WordDoc.Paragraphs [1].Range.Text = "This is the first paragraph.";
WordDoc.Paragraphs.Add()
WordDoc.Paragraphs (1).Range.Text = "This is the first paragraph."
段落添加()方法在 Word 文档中添加了一个新段落,Range.Text
属性为其分配了新文本。
doc.AddText("Add text using IronWord");
doc.AddText("Add text using IronWord");
doc.AddText("Add text using IronWord")
对于本教程,让我们修改第一段:
WordDoc.Paragraphs [1].Range.Text = "This is the edited first paragraph.";
WordDoc.Paragraphs [1].Range.Text = "This is the edited first paragraph.";
WordDoc.Paragraphs (1).Range.Text = "This is the edited first paragraph."
您还可以使用类似的方法在 Word 文档中添加和编辑其他元素。
doc.Paragraphs [0].TextRuns [0].Text = "This is the edited first paragraph.";
doc.Paragraphs [0].TextRuns [0].Text = "This is the edited first paragraph.";
doc.Paragraphs (0).TextRuns (0).Text = "This is the edited first paragraph."
一旦您完成了所需的编辑:
WordDoc.SaveAs(@"path_where_you_want_to_save.docx");
WordDoc.Close();
WordApp.Quit();
WordDoc.SaveAs(@"path_where_you_want_to_save.docx");
WordDoc.Close();
WordApp.Quit();
WordDoc.SaveAs("path_where_you_want_to_save.docx")
WordDoc.Close()
WordApp.Quit()
将 path_where_you_want_to_save.docx 替换为所需路径。
doc.SaveAs(@"path_where_you_want_to_save.docx");
doc.SaveAs(@"path_where_you_want_to_save.docx");
doc.SaveAs("path_where_you_want_to_save.docx")
让我们一起来看看吧。 下面是一个完整的代码示例,演示了如何打开现有 Word 文档、编辑文档并保存更改:
var WordApp = new Microsoft.Office.Interop.Word.Application();
// Create a new Word document
var WordDoc = WordApp.Documents.Add();
// Add new text
WordDoc.Paragraphs.Add();
WordDoc.Paragraphs [1].Range.Text = "This is the first paragraph.";
// Edit the first paragraph
WordDoc.Paragraphs [1].Range.Text = "This is the edited first paragraph.";
// Save and close
WordDoc.SaveAs(@"path_where_you_want_to_save.docx");
WordDoc.Close();
WordApp.Quit();
var WordApp = new Microsoft.Office.Interop.Word.Application();
// Create a new Word document
var WordDoc = WordApp.Documents.Add();
// Add new text
WordDoc.Paragraphs.Add();
WordDoc.Paragraphs [1].Range.Text = "This is the first paragraph.";
// Edit the first paragraph
WordDoc.Paragraphs [1].Range.Text = "This is the edited first paragraph.";
// Save and close
WordDoc.SaveAs(@"path_where_you_want_to_save.docx");
WordDoc.Close();
WordApp.Quit();
Dim WordApp = New Microsoft.Office.Interop.Word.Application()
' Create a new Word document
Dim WordDoc = WordApp.Documents.Add()
' Add new text
WordDoc.Paragraphs.Add()
WordDoc.Paragraphs (1).Range.Text = "This is the first paragraph."
' Edit the first paragraph
WordDoc.Paragraphs (1).Range.Text = "This is the edited first paragraph."
' Save and close
WordDoc.SaveAs("path_where_you_want_to_save.docx")
WordDoc.Close()
WordApp.Quit()
与 MS Word 相比的完整代码示例。 IronWord 利用简洁的代码片段编辑 DOCX 文件。
// Create an empty Word document
WordDocument doc = new WordDocument();
// Add new text
doc.AddText("This is the first paragraph.");
// Edit text
doc.Paragraphs [0].TextRuns [0].Text = "This is the edited first paragraph.";
// Export docx
doc.SaveAs(@"path_where_you_want_to_save.docx");
// Create an empty Word document
WordDocument doc = new WordDocument();
// Add new text
doc.AddText("This is the first paragraph.");
// Edit text
doc.Paragraphs [0].TextRuns [0].Text = "This is the edited first paragraph.";
// Export docx
doc.SaveAs(@"path_where_you_want_to_save.docx");
' Create an empty Word document
Dim doc As New WordDocument()
' Add new text
doc.AddText("This is the first paragraph.")
' Edit text
doc.Paragraphs (0).TextRuns (0).Text = "This is the edited first paragraph."
' Export docx
doc.SaveAs("path_where_you_want_to_save.docx")
在.NET 应用程序中处理 Word 和 Excel 文档方面,有很多选择。 虽然微软的 Interop 服务一直是许多人的首选,但 IronWord 等解决方案的出现标志着向更高效和用户友好型工具的转变。