跳至页脚内容
使用 IRONXL

C# Excel 自动化(开发者教程)

C# 中的 Microsoft Excel 工作表自动化功能允许开发人员利用编程的强大功能与 Microsoft Excel 对象模型进行交互,从而自动生成、编辑和管理 Microsoft Excel 文件。 C# 开发人员可以执行各种活动,包括读取和写入/添加数据、格式化单元格、创建图表、生成报告以及通过使用Microsoft.Office.Interop.Excel等库或第三方解决方案来自动执行与 Microsoft Office Excel 相关的任务,从而自动运行任何无人值守、非交互式客户端程序来运行 Microsoft Office 应用程序。

使用 C#、Visual Basic 或 Microsoft Visual C++ 实现 Microsoft Excel 的新工作簿对象的自动化,可以提供一个稳定且适应性强的框架,用于简单、精确地管理和处理 Excel 工作表数据。 它允许开发人员设计能够无缝集成 Excel 对象模型功能的 Microsoft Office 应用程序,执行数据驱动流程,并生成动态报告。 本文将探讨如何使用 C# 实现 Excel 自动化。

如何使用 C# Excel 自动化

  1. 创建一个Visual Studio项目。
  2. 安装IronXL 库。
  3. 初始化 Excel 应用程序对象接口以实现 Microsoft Excel 的自动化。
  4. 访问工作表并使用该对象操作数据。
  5. 保存并关闭工作簿。 此外,还要释放资源对象。

IronXL

IronXL是一个功能强大的 .NET 库,旨在使在 C#、VB.NET 和其他 .NET 语言中处理 Excel 文件变得更加容易。 它同时支持 XLS 和 XLSX 格式。 该库使开发人员能够更快、更轻松地创建、读取、写入和操作 Excel 电子表格。 它还提供多种工具和功能。

IronXL的主要特点和功能包括:

-数据处理:使用 IronXL,读取、写入和操作 Excel 工作簿中的数据非常简单。 您可以使用二维数组访问单元格值、添加公式、格式化数据和进行计算。

  • Excel 文件创建和编辑:开发人员除了创建新的 Excel 文件和编辑现有文件外,还可以添加、删除和管理工作表。 -跨平台兼容性: IronXL 可用于各种应用程序环境,并且与多个 .NET 平台兼容,例如 Xamarin、.NET Core 和 .NET Framework。 -多功能性和兼容性:它与多个 Excel 版本兼容,并支持较旧的 XLS 和较新的 XLSX Excel 格式。 -支持传统和现代 Excel 格式:它既支持经典的 Excel 文件格式(XLS,可追溯到 Excel 97-2003),也支持较新的基于 XML 的格式(XLSX,可追溯到 Excel 2007),从而满足各种文件格式需求。 -实用性:该库简化了与 Excel 相关的任务,通过提供易于理解的 API 以及清晰的属性和方法,使不同专业水平的开发人员都能轻松上手。 -数据导出和提取: IronXL 可将 Excel 数据导出为各种格式,并从 Excel 文件中提取数据,从而实现与数据库或其他系统的无缝交互。 -文档和支持:为了帮助开发人员使用 IronXL 的库进行与 Excel 相关的活动,该公司提供了丰富的文档、教程和支持。 -自动化和效率: IronXL 通过自动化 Excel 任务来提高生产力、减少人工劳动,并帮助创建数据驱动型应用程序。 -集成与定制:它提供了将 Excel 数据导出为多种格式的选项,并有助于生成定制报告或数据驱动的解决方案。 它还能与数据库和其他系统良好对接。

IronXL 被广泛应用于各个领域,包括金融、数据分析、报告、商业智能和软件开发。 它使开发人员能够以编程方式操作 Excel 文件,并创建包含数据操作和 Excel 集成的可靠解决方案。 请点击此处查看更多信息。

在 Visual Studio 中创建新项目

点击 Visual Studio 菜单中的"文件"以启动应用程序。 选择"新建项目",然后选择"Windows窗体应用程序"。

C# Excel 自动化(开发者教程):图 1 - 新建项目

选择文件位置后,在指定的文本字段中输入项目文件名。 然后,选择所需的 .NET Framework,然后单击"创建"按钮,如下例所示。

C# Excel 自动化(开发者教程):图 2 - 项目配置

Visual Studio 项目的结构将取决于所选的应用程序类型。 您可以使用控制台、Windows 或在线应用程序来构建或执行应用程序并添加代码。 您可以在Program.cs文件中添加输入逻辑。

C# Excel 自动化(开发者教程):图 3 - 框架

然后就可以添加库,并测试代码。

安装IronXL库

要使用 IronXL 库,请打开 NuGet 程序包管理器控制台,然后键入以下命令进行安装:

Install-Package IronXL.Excel

C# Excel 自动化(开发者教程):图 4 - 安装 IronXL

另一种方法是使用 NuGet 包管理器搜索"IronXL"包。 您可以从与 IronXL 相关的所有 NuGet 包列表中选择需要下载的包。

C# Excel 自动化(开发者教程):图 5 - IronXL.Excel

使用 IronXL 实现 Excel 自动化

下面提供了一个示例,说明如何在 C# 中使用 IronXL 进行简单的 Excel 自动化。 以下是如何创建新的 Excel 文件、填写单元格,然后保存工作簿的示例。

using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Create a new Excel workbook
        WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

        // Create a new worksheet in the workbook
        WorkSheet sheet = workbook.CreateWorkSheet("output");

        // Set values in cells
        sheet["A1"].Value = "Hello";
        sheet["B1"].Value = "World";

        // Save the workbook to a specific file path
        string filePath = @"output.xlsx";
        workbook.SaveAs(filePath);

        Console.WriteLine("File created and saved successfully.");
    }
}
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Create a new Excel workbook
        WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

        // Create a new worksheet in the workbook
        WorkSheet sheet = workbook.CreateWorkSheet("output");

        // Set values in cells
        sheet["A1"].Value = "Hello";
        sheet["B1"].Value = "World";

        // Save the workbook to a specific file path
        string filePath = @"output.xlsx";
        workbook.SaveAs(filePath);

        Console.WriteLine("File created and saved successfully.");
    }
}
Imports IronXL

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create a new Excel workbook
		Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)

		' Create a new worksheet in the workbook
		Dim sheet As WorkSheet = workbook.CreateWorkSheet("output")

		' Set values in cells
		sheet("A1").Value = "Hello"
		sheet("B1").Value = "World"

		' Save the workbook to a specific file path
		Dim filePath As String = "output.xlsx"
		workbook.SaveAs(filePath)

		Console.WriteLine("File created and saved successfully.")
	End Sub
End Class
$vbLabelText   $csharpLabel

这段代码通过一个简单的示例演示了如何使用 IronXL 实现 Excel 的自动化:

1.创建新的 Excel 工作簿:使用WorkBook.Create(ExcelFileFormat.XLSX)创建 XLSX 格式的新 Excel 工作簿。 2.访问工作表: CreateWorkSheet("output")向工作簿添加一个名为"output"的工作表。 3.设置单元格值:单元格A1B1分别赋值为"Hello"和"World"。 4.保存工作簿:使用SaveAs(filePath)将工作簿保存到指定的文件路径。

附加操作

-数据处理:运用不同的数据处理技术,如筛选、排序和合并单元格。 -图形和图表:使用 Excel 数据创建图形和图表。 -数据集成和导出:将 Excel 数据与数据库集成,并将其导出为各种格式。

C# Excel 自动化(开发者教程):图 6 - 输出

开发人员可以使用 IronXL 丰富的 Excel 文件处理函数集,以 C# 编程方式自动执行 Excel 流程、修改数据、格式化单元格以及执行各种其他操作。 请根据您的具体使用场景修改这些操作。 IronXL 通过处理异常情况和确保适当的资源管理,实现可靠的 Excel 自动化。 要了解更多关于该代码的信息,请参考这里

结论

包括金融、数据研究、报告和软件开发在内的许多行业都广泛使用 IronXL Excel 对象库。 对于寻求优化 Excel 相关活动的公司和开发人员来说,这是一个至关重要的工具,它有助于创建动态的、以数据为中心的应用程序,这些应用程序可以以编程方式高效地处理 Excel 文件。

总而言之,IronXL 简化了 C# 中的 Excel 自动化,并为以编程方式管理 Excel 文件提供了一个可靠、功能丰富的解决方案,从而能够有效地进行数据操作,并提高 .NET 应用程序的生产力。 IronXL 提供免费的社区版,但对非商业用途有所限制。 付费版本提供更好的功能、支持和完整功能,起价为 $liteLicense,可通过订阅或永久许可模式获得。 有关最新和全面的许可详情,请访问 IronXL 的官方网站。 点击这里查看Iron Software产品的更多详情。

常见问题解答

如何在 C# 中自动化 Microsoft Excel 工作,而无需使用 Interop?

您可以通过使用 IronXL 库在 C# 中自动化 Microsoft Excel 任务,而无需使用 Interop。它允许您直接在 C# 中创建、读取和操作 Excel 文件,无需 Microsoft.Office.Interop.Excel,从而提高了效率。

使用 IronXL 进行 Excel 自动化的好处是什么?

IronXL 提供了简化 Excel 自动化任务的用户友好型 API,例如数据处理、文件创建、编辑,并支持 XLS 和 XLSX 格式。它消除了 Interop 的需要,为 Excel 自动化提供了一种精简高效的方法。

我可以在 Excel 中使用 C# 进行数据处理吗?

是的,使用 IronXL,您可以在 Excel 中使用 C# 进行各种数据处理任务。这包括过滤、排序和合并数据,以及创建图表和图形。

如何在 Visual Studio 项目中开始使用 IronXL?

要在 Visual Studio 项目中开始使用 IronXL,您需要通过 NuGet 安装 IronXL 包,创建新项目,然后使用 IronXL 的 API 与 Excel 文件进行交互。该库提供了丰富的文档和示例来帮助您完成整个过程。

IronXL 是否适合跨平台开发?

是的,IronXL 适合跨平台开发。它兼容 .NET Core,允许您开发可以在各种操作系统上运行的应用程序,包括 Windows、macOS 和 Linux。

IronXL 可用的不同许可选项有哪些?

IronXL 提供适合非商业用途的免费社区版,具有一些限制。对于商业用途,有付费版本起价为 $749,提供额外的功能和支持,可通过订阅或永久许可获得。

IronXL 如何处理 Excel 文件格式?

IronXL 支持旧版 XLS 格式和现代 XLSX 格式,使开发人员能够无缝处理不同版本的 Excel 文件。这确保了与各种 Excel 文档的兼容性。

哪些行业可以从使用 IronXL 中受益?

如金融、数据分析、商业智能和软件开发等行业可以从使用 IronXL 进行高效 Excel 自动化中受益,促进动态数据驱动应用程序开发和优化与 Excel 相关的活动。

Curtis Chau
技术作家

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

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。