使用 IRONWORD C# 编辑 Word(代码示例开发者教程) Jordi Bardia 已更新:七月 28, 2025 Download IronWord NuGet 下载 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article Creating, editing, and managing Word documents is a frequent requirement for many applications. While there are several ways to create and edit a Word document in C#, one of the most powerful methods is using the Microsoft Interop services. With this tool, you can handle Word documents programmatically with much ease. Edit Word and DOCX Documents Download the C# library to edit Word and DOCX documents Create an empty Word document in code Add a new text to the Word document Edit the text in a new or existing document Export the DOCX files to desired location Prerequisites Before setting up the environment and starting with the code, ensure you meet the following prerequisites: Visual Studio: Ensure you have Visual Studio installed on your machine. If not, download and install it from the official Microsoft website. Microsoft Word: Since we're using Microsoft Interop, you should have MS Word installed on your computer. The Interop service interfaces with the Microsoft Word application installed on your machine. Basic C# Knowledge: Understanding basic C# concepts is essential. .NET Framework: Ensure your Visual Studio supports the .NET Framework since our application will be based on it. Setting up the Environment Start by opening the Visual Studio application. Once open, you'll be greeted with a welcome screen. 1. Create a New .NET Framework Console Application Click on "Create a new project". Type "Console App (.NET Framework)" in the search box. From the results, select "Console App (.NET Framework)" and click on the "Next" button. Set a name for your project, then click the "Create" button. After these steps, Visual Studio will generate a new .NET Framework console application for you. In the Program.cs file, you will find a basic template with a Main method, which is the entry point for console applications. 2. Install Microsoft.Office.Interop.Word using NuGet Package Manager NuGet is a package manager for .NET, and it's integrated into Visual Studio. Here's how you can use it to install the Microsoft.Office.Interop.Word package: In Visual Studio, go to the "Tools" menu. Select "NuGet Package Manager" and then "Manage NuGet Packages for Solution...". In the NuGet window, click on the "Browse" tab. In the search box, type Microsoft.Office.Interop.Word and hit enter. From the search results, select the Microsoft.Office.Interop.Word package. On the right side, ensure your console application project is checked, then click on the "Install" button. Visual Studio will now install the package and add a reference to it in your project. This package contains the necessary assemblies and tools to interact with MS Word from your C# application. Introducing IronWord: A Superior Alternative to Interop While Interop provides powerful capabilities for working with Word and Excel, it has limitations. Enter IronWord, a versatile library optimized for .NET developers. IronWord offers a smoother experience than Interop, especially for editing Word document tasks. It not only ensures compatibility and performance but also simplifies complex tasks with intuitive methods. For ease of comparison, I will provide IronWord code snippets for each use case after MS Word, using IronWord version 2024.1.2. Opening an Existing Word Document Often, you may need to edit existing Word documents, the following example shows how to do this in C#: // Create an instance of the Word Application var WordApp = new Microsoft.Office.Interop.Word.Application(); // Open a Word document with the specified file path var WordDoc = WordApp.Documents.Open(@"path_to_your_document.docx"); // Create an instance of the Word Application var WordApp = new Microsoft.Office.Interop.Word.Application(); // Open a Word document with the specified file path var WordDoc = WordApp.Documents.Open(@"path_to_your_document.docx"); ' Create an instance of the Word Application Dim WordApp = New Microsoft.Office.Interop.Word.Application() ' Open a Word document with the specified file path Dim WordDoc = WordApp.Documents.Open("path_to_your_document.docx") $vbLabelText $csharpLabel In the above code, replace path_to_your_document.docx with the path to your docx file. Using IronWord Open a Word document using IronWord. // Open a Word document with the specified file path using IronWord WordDocument doc = new WordDocument(@"path_to_your_document.docx"); // Open a Word document with the specified file path using IronWord WordDocument doc = new WordDocument(@"path_to_your_document.docx"); ' Open a Word document with the specified file path using IronWord Dim doc As New WordDocument("path_to_your_document.docx") $vbLabelText $csharpLabel Creating a New Word Document To create Word documents from scratch: // Initialize a new instance of the Word Application var WordApp = new Microsoft.Office.Interop.Word.Application(); // Add a new Word document var WordDoc = WordApp.Documents.Add(); // Initialize a new instance of the Word Application var WordApp = new Microsoft.Office.Interop.Word.Application(); // Add a new Word document var WordDoc = WordApp.Documents.Add(); ' Initialize a new instance of the Word Application Dim WordApp = New Microsoft.Office.Interop.Word.Application() ' Add a new Word document Dim WordDoc = WordApp.Documents.Add() $vbLabelText $csharpLabel This code snippet creates a new Word Document you can write and edit using C#. Using IronWord // Create a new, empty Word document using IronWord WordDocument doc = new WordDocument(); // Create a new, empty Word document using IronWord WordDocument doc = new WordDocument(); ' Create a new, empty Word document using IronWord Dim doc As New WordDocument() $vbLabelText $csharpLabel Adding Text to the Word Document To add a new paragraph of text: // Add a new paragraph to the document WordDoc.Paragraphs.Add(); // Assign text to the newly added paragraph WordDoc.Paragraphs[1].Range.Text = "This is the first paragraph."; // Add a new paragraph to the document WordDoc.Paragraphs.Add(); // Assign text to the newly added paragraph WordDoc.Paragraphs[1].Range.Text = "This is the first paragraph."; ' Add a new paragraph to the document WordDoc.Paragraphs.Add() ' Assign text to the newly added paragraph WordDoc.Paragraphs(1).Range.Text = "This is the first paragraph." $vbLabelText $csharpLabel The Paragraphs.Add() method adds a new paragraph to the Word document and the Range.Text property assigns new text to it. Using IronWord // Add a new text to the document using IronWord doc.AddText("Add text using IronWord"); // Add a new text to the document using IronWord doc.AddText("Add text using IronWord"); ' Add a new text to the document using IronWord doc.AddText("Add text using IronWord") $vbLabelText $csharpLabel Editing Existing Text For this tutorial, let's change the first paragraph: // Edit the text of the first paragraph WordDoc.Paragraphs[1].Range.Text = "This is the edited first paragraph."; // Edit the text of the first paragraph WordDoc.Paragraphs[1].Range.Text = "This is the edited first paragraph."; ' Edit the text of the first paragraph WordDoc.Paragraphs(1).Range.Text = "This is the edited first paragraph." $vbLabelText $csharpLabel You can also add and edit other elements in the Word document using similar methods. Using IronWord // Edit the text of the first paragraph using IronWord doc.Paragraphs[0].TextRuns[0].Text = "This is the edited first paragraph."; // Edit the text of the first paragraph using IronWord doc.Paragraphs[0].TextRuns[0].Text = "This is the edited first paragraph."; ' Edit the text of the first paragraph using IronWord doc.Paragraphs(0).TextRuns(0).Text = "This is the edited first paragraph." $vbLabelText $csharpLabel Saving and Closing the Document Once you've made your desired edits: // Save the document to a specified path WordDoc.SaveAs(@"path_where_you_want_to_save.docx"); // Close the document and quit the application WordDoc.Close(); WordApp.Quit(); // Save the document to a specified path WordDoc.SaveAs(@"path_where_you_want_to_save.docx"); // Close the document and quit the application WordDoc.Close(); WordApp.Quit(); ' Save the document to a specified path WordDoc.SaveAs("path_where_you_want_to_save.docx") ' Close the document and quit the application WordDoc.Close() WordApp.Quit() $vbLabelText $csharpLabel Replace path_where_you_want_to_save.docx with your desired path. Using IronWord // Save the document to the desired path using IronWord doc.SaveAs(@"path_where_you_want_to_save.docx"); // Save the document to the desired path using IronWord doc.SaveAs(@"path_where_you_want_to_save.docx"); ' Save the document to the desired path using IronWord doc.SaveAs("path_where_you_want_to_save.docx") $vbLabelText $csharpLabel Complete Code and Example Let's put it all together. Here's a complete code example demonstrating how to open an existing Word document, edit it, and then save the changes: 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() $vbLabelText $csharpLabel Using IronWord The complete code example using IronWord is concise. IronWord utilizes concise code snippets to edit DOCX files. // Create an empty Word document WordDocument doc = new WordDocument(); // Add new text doc.AddText("This is the first paragraph."); // Edit the 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 the 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 the text doc.Paragraphs(0).TextRuns(0).Text = "This is the edited first paragraph." ' Export DOCX doc.SaveAs("path_where_you_want_to_save.docx") $vbLabelText $csharpLabel Conclusion In the realm of manipulating Word and Excel documents within .NET applications, choices abound. While Microsoft's Interop services have been a go-to for many, the emergence of solutions like IronWord signifies a shift towards more efficient and user-friendly tools. 常见问题解答 我如何在 C# 中创建和编辑 Word 文档? 您可以使用 Microsoft Interop 服务或 IronWord 库在 C# 中创建和编辑 Word 文档。两者都允许您以编程方式操作 Word 文档,IronWord 提供了增强的性能和易用性。 使用 IronWord 相对于 Microsoft Interop 操作 Word 文档的好处是什么? IronWord 提供比 Microsoft Interop 更流畅的体验,通过提供更好的性能和更直观的方法来编辑 Word 文档。它为 .NET 应用程序优化,是开发人员的现代高效选择。 我如何使用 C# 打开现有的 Word 文档? 要在 C# 中打开现有的 Word 文档,您可以使用像 Microsoft Interop 服务或 IronWord 这样的库。它们提供以编程方式加载和操作 Word 文件内容的方法。 设置 .NET Framework 控制台应用程序以进行 Word 文档编辑需要哪些步骤? 首先,确保已安装 Visual Studio 和 .NET Framework。在 Visual Studio 中创建新的 .NET Framework 控制台应用程序,并使用 NuGet Package Manager 安装 Microsoft.Office.Interop.Word 包或 IronWord 库。 我如何使用 C# 向 Word 文档添加文本? 您可以使用 Microsoft Interop 或 IronWord 等库向 Word 文档添加文本。这些库提供以编程方式插入和修改文档内文本的方法。 在 C# 中如何保存和关闭 Word 文档? 在 C# 中,您可以使用 Microsoft Interop 或 IronWord 等库提供的方法来保存和关闭 Word 文档。这些方法确保更改被保存并文件正确关闭。 在 Visual Studio 中安装 Microsoft.Office.Interop.Word 包的过程是什么? 要在 Visual Studio 中安装 Microsoft.Office.Interop.Word 包,通过 '工具' 菜单访问 NuGet Package Manager,选择 '为解决方案管理 NuGet 包...',搜索 'Microsoft.Office.Interop.Word' 并安装包。 如何在 C# 中编辑 Word 文档时解决常见错误? 在 C# 中编辑 Word 文档时的常见错误常常可以通过检查库是否正确安装、确保与 .NET Framework 的兼容性以及验证文档路径和权限是否正确来解决。 我如何在 C# 中创建新的 Word 文档? 您可以使用 Microsoft Interop 或 IronWord 等库在 C# 中创建新的 Word 文档。这些库提供初始化新 Word 文档并根据需要添加内容的方法。 是否有使用 IronWord 编辑 Word 文档的完整代码示例? 是的,教程提供了使用 IronWord 编辑 Word 文档的完整代码示例。它包括创建 Word 应用程序实例,添加和编辑文本以及保存文档,展示了 IronWord 方法的实际应用。 Jordi Bardia 立即与工程团队聊天 软件工程师 Jordi 最擅长 Python、C# 和 C++,当他不在 Iron Software 利用这些技能时,他就在游戏编程。分享产品测试、产品开发和研究的责任,Jordi 在持续的产品改进中增加了巨大的价值。多样的经验使他面临挑战并保持投入,他表示这是在 Iron Software 工作的最喜欢的方面之一。Jordi 在佛罗里达州迈阿密长大,并在佛罗里达大学学习计算机科学和统计学。 相关文章 已更新九月 18, 2025 ASP .NET Core 导入和导出 Word 文件 本指南探讨了如何使用 IronWord 库导入现有的 Word 文档、显示其内容并从头创建文档 阅读更多 已更新七月 28, 2025 VS 2022 编程创建新 Word 文档 (教程) 在今天的教程中,我将简要解释如何使用 IronWord 编程创建 Microsoft Word 文档并提供简短示例。 阅读更多 已更新六月 22, 2025 如何使用 C# 在 Word 中对齐文本 深入了解 IronWord NuGet 包以及使用该包对齐文本或段落的方法 阅读更多 如何在 C# 中创建 Word 文档如何在 C# 中将 Word 转换为 PDF
已更新七月 28, 2025 VS 2022 编程创建新 Word 文档 (教程) 在今天的教程中,我将简要解释如何使用 IronWord 编程创建 Microsoft Word 文档并提供简短示例。 阅读更多