如何在 C# 中创建 Word 文档
微软开发 Word 的目的是为了用作文字处理软件。 该软件最初以 Multi-Tool Word 的名称面向 Xenix 系统推出,于 1983 年 10 月 25 日发布。随后,该软件开发了适用于各种操作系统的版本,例如 SCO Unix (1990)、Microsoft Windows (1989)、Atari ST (1988)、OS/2 (1989)、AT&T UNIX PC (1985)、运行 DOS 的 IBM PC (1983)、运行 Classic macOS 的 Apple Macintosh (1985)、macOS (2001)、Web 浏览器 (2010)、iOS (2014) 和 Android (2015)。 Wine 可用于在 Linux 系统上运行旧版本的 Microsoft Word。
商业版 Word 可以作为独立应用程序或Microsoft 365的组件进行许可,Microsoft 365 可以购买永久许可或作为 Microsoft 365 订阅的一部分。 在本文中,我们将利用 Microsoft Interop 程序集操作 Word 文档,并探讨 IronXL 如何帮助我们编辑 Excel 文档。
How To Manipulate Word Document Using C#
- 创建一个全新的 Visual Studio 项目。
- 设置读取 Word 文档所需的库。
- 要操作 Word 文档,请加载现有文件或创建新文件。
- 编辑文档数据并解析文件。
- 删除所有创建的对象。
什么是 Microsoft Interop
using C# 或 VB.NET 编写的程序可以通过 Office Interoperability for Microsoft Word 创建或打开 Word 文档(DOC、DOCX 和 RTF)。 然而,在项目中使用时,它有很多缺点。
本文将讨论在使用 C# 或 VB.NET 进行 Microsoft Office Interop(Word 自动化)时可能遇到的常见问题。
例如:
- 所有用于 Word 自动化的客户端 PC 都需要获得 Microsoft Word 的许可。
- 每台客户端电脑上都必须安装相同版本的 Microsoft Word。
- 当使用自动化功能时,Word 会占用几兆字节的 RAM 在后台加载不同的文件和 DLL。
- Microsoft Word API 是通过 COM 对象访问的。 从托管代码调用 COM 对象时可能会出现问题,例如类型转换、需要 COM 包装器以及 .NET Framework 集成不良等。
在 Visual Studio 中创建新项目
using Interop 库之前,必须启动 Visual Studio 并创建一个 .NET 项目。 Visual Studio 与任何版本都兼容,但建议使用最新版本。 根据您的需要,您可以开发项目模板或类似 Windows Forms 的应用程序。 为了简单起见,我将使用控制台应用程序。

配置项目详情
接下来,请提供项目地点和名称。

使用 .NET Framework 创建一个新的项目文件
使用框架下拉菜单,您可以选择.NET Framework 。 本项目将采用 Dot.NET Framework 4.7。 下一步是按下"创建"按钮。
应用程序生成解决方案后,您可以通过访问 Program.cs 文件输入代码并构建或运行程序。

现在,Microsoft.Office.Interop.Word库已添加,可以测试代码。
安装 Interop 库
下一个修复需要安装Interop库。 要完成此操作,请在 NuGet 包管理器控制台中输入以下命令:
在上面的代码中,我们可以使用 C# 编辑 Word 文档。 首先,使用Interop创建Word应用程序实例。然后使用Open方法打开现有Word文件,将其转换为文档对象。 然后,我们可以访问与文档交互的各种属性和方法。 在示例中,我们更新第一个段落的文本,使用Paragraphs集合和索引指定要编辑的段落。 最后,使用SaveAs保存更改,并正确关闭文档和应用程序。
IronXL 库是 Interop 的替代方案
IronXL是 Microsoft Interop 的替代方案,可用于 .NET 程序中处理 Excel 文件。 虽然 Microsoft Interop 需要通过 Interop 程序集与 Excel 进行交互,但 IronXL 提供了一种更直接、有效且强大的方法,可以在 .NET 环境中以编程方式操作 Excel 文件。
using IronXL 而不是 Microsoft Interop 有以下几个优点:
-**性能和资源效率:**与依赖于计算机上安装的 Excel 应用程序的 Microsoft Interop 相比,IronXL 的性能更好,使用的资源更少,因为它不依赖于 Excel 应用程序。 -易用性和简洁性: IronXL 提供了一个更易于使用的 API,简化了 Excel 文件的读取、写入和操作,而无需像 Microsoft Interop 那样复杂。 -兼容性和依赖性: IronXL 无需在计算机上安装 Microsoft Excel,从而消除了与各种版本的 Excel 或 Office 可能出现的依赖性和兼容性问题。 -**平台独立性:**与可能与特定 Microsoft Office 版本更密切相关的 Microsoft Interop 不同,IronXL 提供了更大的灵活性,并且易于在各种环境和平台上部署。
对于必须以编程方式操作 Excel 文件的 .NET 开发人员来说,IronXL 通常是一个更好的选择,因为它易于使用、速度快,并且减少了对第三方软件安装的依赖。 然而,IronXL 和 Microsoft Interop 之间的选择可能会受到项目的具体情况、现有基础设施以及用户对每个库的熟悉程度的影响。
在选择这些选项时,务必牢记您的应用程序的要求。 点击此链接了解更多关于 IronXL 库的信息。
安装IronXL库
由于即将发布的补丁需要 IronXL 库,请安装它。 要完成此操作,请打开 NuGet 包管理器控制台并键入以下命令:
IronXL.Excel
另一种方法是通过 NuGet 包管理器搜索"IronXL"包。从与 IronXL 关联的所有 NuGet 包列表中,我们可以选择需要下载的包。

使用 IronXL 编辑 Excel 文档
只需几行代码即可将数据导出为 XLSX 或 XLS 格式。 以下源代码示例展示了如何将数据从 Excel 文件导出为简单的表格格式:
using IronXL;
class Program
{
static void Main()
{
// Load an existing Excel file
var workbook = WorkBook.Load("Demo file.xlsx");
// Access the first sheet or the sheet by name
var ws = workbook.GetWorkSheet("Sheet1");
// Read a value from a cell and output it to the console
string address_val = ws["A1"].ToString();
Console.WriteLine(address_val);
// Modify a cell's value
ws["A2"].Value = "Hello World";
// Save the workbook to different formats
workbook.SaveAs("export.xlsx");
workbook.SaveAs("export.xls");
workbook.WorkSheets[0].SaveAs("export.xls");
}
}Imports IronXL
Friend Class Program
Shared Sub Main()
' Load an existing Excel file
Dim workbook = WorkBook.Load("Demo file.xlsx")
' Access the first sheet or the sheet by name
Dim ws = workbook.GetWorkSheet("Sheet1")
' Read a value from a cell and output it to the console
Dim address_val As String = ws("A1").ToString()
Console.WriteLine(address_val)
' Modify a cell's value
ws("A2").Value = "Hello World"
' Save the workbook to different formats
workbook.SaveAs("export.xlsx")
workbook.SaveAs("export.xls")
workbook.WorkSheets(0).SaveAs("export.xls")
End Sub
End Class上一个示例通过调用Load函数加载已经存在的Excel文件,该函数需要文件路径和名称作为参数。 文件导入到WorkBook对象现在已完成。 然后,通过GetWorkSheet加载Excel工作表,它允许我们使用工作表名称加载工作表。 然后使用 Excel 地址读取该值。 想了解更多关于读取Excel文件的信息,请点击这里。
我们可以使用相同的 Excel 地址来更改 Excel 表格中的值。 可以通过WorkBook对象提供。 通过此过程,整个文件将以所选格式保存。

此外,我们还可以通过索引值或名称来选择特定的 Excel 工作表。 接下来,可以使用SaveAs选项将数据从Excel电子表格导出到不同文件。 点击此链接了解更多关于格式化和导出Excel文件的信息。
结论
IronXL是Excel最受欢迎的插件之一。 它不依赖任何额外的外部库。 由于它是独立运行的,因此无需安装 Microsoft Excel。 它通过多种渠道运作。 这与 Interop 库形成对比,Interop 库必须使用额外的库来解析文件才能编辑 Word 文档。
IronXL 为任何使用 Microsoft Excel 文档的编程过程提供完整的解决方案。 计算、对字符串或数字进行排序、修剪、添加、查找和替换、合并和取消合并以及文件存储只是众多可用操作中的几个例子。 电子表格数据不仅可以进行验证,还可以构建新的单元格数据形式。 它方便读取和写入文件以及处理 Excel 数据。
当IronXL首次发布时,它的价格是$999。 或者,客户可以选择支付一年的订阅费,以获得软件更新和支持。 IronXL 提供收费的防未经授权再分发安全保障。 前往 IronXL 许可页面。 想了解更多关于Iron Software产品的信息,请点击这里。

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。
相关文章

