跳至页脚内容
使用 IRONXL

如何使用 IronXL 处理 Excel 文件:一个 .NET Excel 库

本文将使用最流行的 Excel 库之一 IronXL,来比较和对比如何在 .NET 技术中以编程方式与 Microsoft Excel 文档进行交互,并创建一个 Excel 电子表格环境来读取 Excel 工作表、写入 Excel 表格以及将电子表格文件导出为 CSV 文件。

IronXL - 快速 Excel 库功能

使用 C# IronXL .NET Excel 库可以读取 Microsoft Excel 中创建的文档并将其转换为 CSV 文件。 IronXL 是一个独立的 .NET Excel 软件库,不需要安装 Microsoft Office、Microsoft.Office.Interop.Excel 或 Excel Interop。 它可以读取多种电子表格格式,而不仅仅是一个静态库。

IronXL 的简单 C# API 使得在 .NET 环境中读取多个工作表、修改和生成 Excel 电子表格变得容易。 它完全支持 Xamarin、Linux、macOS、Azure、.NET Core 应用程序和 .NET Framework。

  • IronXL 是一个与 .NET Core 和 .NET Framework 都兼容的 C# 库,是 Excel 电子表格的最佳库之一。
  • IronXL 支持几乎所有 .NET Framework,包括 Web 应用程序、Windows 窗体和控制台应用程序。
  • IronXL 可与 Linux、macOS 和 Windows 操作系统一起使用。
  • IronXL 提供对 Excel 文件的快速便捷访问。
  • IronXL 能够读取多种 Excel 文件类型,包括 XLSX、CSV、XLS、XLST、TSV、XLSM 等。 导入、更新和导出数据表和数据集的功能只是该库众多功能中的一部分。
  • 对于 Excel 电子表格,IronXL 能够生成计算结果
  • IronXL支持 Excel 列的多种数据类型,包括文本、整数、日期、货币、公式和百分比。
  • IronXL 可以处理多种值,包括日期、货币、百分比、文本、数字、公式以及更多 Excel 列数据类型。

创建 .NET Core 6 项目

本文接下来的部分将向您展示使用 IronXL 库创建/读取 Excel 文件是多么简单。

第一步:启动创建 Excel 文件的新项目。

启动 Visual Studio 后,从"文件"菜单中选择"新建项目"。

在出现的对话框中,选择"控制台应用程序".NET 项目模板,然后单击"下一步"。

! .NET Excel 库(开发者教程),图 1:新建项目 新项目

在"位置"字段中输入新项目的位置后,您可以为项目输入您选择的任何项目名称。 点击"下一步"按钮继续。

! .NET Excel 库(开发人员教程),图 2:项目配置 项目配置

可以使用"框架"下拉选项选择 .NET Framework。 这里我们使用的是 .NET 6.0,这是长期支持的版本。 然后按"创建"。

! .NET Excel 库(开发者教程),图 3:框架选择 框架选择

获取 IronXL 库,以下解决方案需要用到该库。 为此,请在 NuGet 包管理器控制台中输入以下命令:

Install-Package IronXL.Excel

! .NET Excel 库(开发人员教程),图 4:IronXL 安装 IronXL 安装

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

! .NET Excel 库(开发人员教程),图 5:NuGet 包管理器 NuGet 软件包管理器

使用 IronXL 创建 Excel

使用 IronXL,您只需几行代码即可创建新的 Excel 文件! IronXL 可用于创建 XLS(较旧的 Excel 格式)和 XLSX(较新的格式)文件,如下面的代码示例所示。

using IronXL;

public class IronXLExample
{
    public static void Main(string[] args)
    {
        // Create a new workbook
        WorkBook workbook = WorkBook.Create();

        // Create a new worksheet named "Sheet1"
        WorkSheet worksheet = workbook.CreateWorkSheet("Sheet1");

        // Set the value of cell A1
        worksheet["A1"].Value = "test";

        // Save the workbook to a file
        workbook.SaveAs("sample1.xlsx");
    }
}
using IronXL;

public class IronXLExample
{
    public static void Main(string[] args)
    {
        // Create a new workbook
        WorkBook workbook = WorkBook.Create();

        // Create a new worksheet named "Sheet1"
        WorkSheet worksheet = workbook.CreateWorkSheet("Sheet1");

        // Set the value of cell A1
        worksheet["A1"].Value = "test";

        // Save the workbook to a file
        workbook.SaveAs("sample1.xlsx");
    }
}
Imports IronXL

Public Class IronXLExample
	Public Shared Sub Main(ByVal args() As String)
		' Create a new workbook
		Dim workbook As WorkBook = WorkBook.Create()

		' Create a new worksheet named "Sheet1"
		Dim worksheet As WorkSheet = workbook.CreateWorkSheet("Sheet1")

		' Set the value of cell A1
		worksheet("A1").Value = "test"

		' Save the workbook to a file
		workbook.SaveAs("sample1.xlsx")
	End Sub
End Class
$vbLabelText   $csharpLabel

上面的代码演示了如何使用 IronXL 包创建一个新的 Excel 工作簿和工作表。 WorkBook.Create()方法用于创建一个新的工作簿,然后CreateWorkSheet("Sheet1")函数创建一个具有指定名称的工作表标签。 使用SaveAs方法将更改保存到指定位置。

! .NET Excel 库(开发者教程),图 6:Excel 输出 Excel 输出

要了解有关创建 Excel 文件的更多信息,请查看本教程,了解如何在 .NET 中创建一个 Excel 文件

从 Excel 读取数据并导出到 Excel 文件

将数据导出为 XLSX 或 XLS 格式只需要几行代码。 以下是一个源代码示例,可用于将 Excel 文件中的数据导出为简单的表格格式:

using IronXL;

public class ExcelReadExportExample
{
    public static void Main(string[] args)
    {
        // Load an existing Excel file
        var workbook = WorkBook.LoadExcel("Demo file.xlsx");

        // Get a worksheet from the workbook
        WorkSheet workSheet = workbook.GetWorkSheet("Sheet1");

        // Read the value of cell A1
        string addressVal = workSheet["A1"].ToString();
        Console.WriteLine(addressVal);

        // Modify the value of cell A2
        workSheet["A2"].Value = "test";

        // Save the workbook in multiple formats
        workbook.SaveAs("export.xlsx");
        // Or save as XLS
        workbook.SaveAs("export.xls");
        // Or save the specific worksheet as an XLS file
        workbook.WorkSheets[0].SaveAs("export.xls");
    }
}
using IronXL;

public class ExcelReadExportExample
{
    public static void Main(string[] args)
    {
        // Load an existing Excel file
        var workbook = WorkBook.LoadExcel("Demo file.xlsx");

        // Get a worksheet from the workbook
        WorkSheet workSheet = workbook.GetWorkSheet("Sheet1");

        // Read the value of cell A1
        string addressVal = workSheet["A1"].ToString();
        Console.WriteLine(addressVal);

        // Modify the value of cell A2
        workSheet["A2"].Value = "test";

        // Save the workbook in multiple formats
        workbook.SaveAs("export.xlsx");
        // Or save as XLS
        workbook.SaveAs("export.xls");
        // Or save the specific worksheet as an XLS file
        workbook.WorkSheets[0].SaveAs("export.xls");
    }
}
Imports IronXL

Public Class ExcelReadExportExample
	Public Shared Sub Main(ByVal args() As String)
		' Load an existing Excel file
		Dim workbook = WorkBook.LoadExcel("Demo file.xlsx")

		' Get a worksheet from the workbook
		Dim workSheet As WorkSheet = workbook.GetWorkSheet("Sheet1")

		' Read the value of cell A1
		Dim addressVal As String = workSheet("A1").ToString()
		Console.WriteLine(addressVal)

		' Modify the value of cell A2
		workSheet("A2").Value = "test"

		' Save the workbook in multiple formats
		workbook.SaveAs("export.xlsx")
		' Or save as XLS
		workbook.SaveAs("export.xls")
		' Or save the specific worksheet as an XLS file
		workbook.WorkSheets(0).SaveAs("export.xls")
	End Sub
End Class
$vbLabelText   $csharpLabel

在前面的示例中,使用LoadExcel方法加载现有的 Excel 文件,该方法接受文件名和路径作为参数。 然后将该文件导入到WorkBook对象中。 工作表是通过指定工作表名称,使用GetWorkSheet函数加载的。 可以通过指定单元格的地址来读取单元格的值。 该代码还演示了如何使用SaveAs方法修改工作表值并将工作簿保存为不同的文件格式。

! .NET Excel 库(开发者教程),图 7:控制台输出 控制台输出

还可以通过名称或索引值引用工作表,将 Excel 电子表格中的数据导出到单独的文件。更多详情,请参阅另一篇教程,了解有关导出 Excel 文件的更多信息。

结论

从创建新文件到执行精确计算,IronXL 可以满足您所有 Excel 项目的需求。 今天,我们仔细研究了如何使用 IronXL 创建、读取和导出 Excel 文件,并了解了如何通过几行代码完全控制这些过程。

IronXL 为所有与 Microsoft Excel 文档相关的可编程活动提供全面的解决方案。 可以执行公式计算、对字符串或数字进行排序、剪切和添加数据、查找和替换、合并和取消合并单元格可视化数据以及保存文件。 使用此功能,您还可以设置单元格数据类型并验证电子表格数据。 具备读取和写入 CSV 文件的能力,可以与 Excel 数据进行交互。

IronXL 在发布时需要支付$799费用,但客户可以选择支付一年的会员费以获得改进和产品支持。 IronXL 会收取额外的安全费,允许不受限制地重新分发。 请访问此许可页面,了解更多定价详情。

常见问题解答

如何在不使用Interop的情况下在.NET中创建和读取Excel文件?

使用IronXL,您可以轻松地在.NET中创建和读取Excel文件,而无需依赖Microsoft Office Interop。您可以使用WorkBook.Create()方法创建新的Excel文件,并使用LoadExcel读取已有的文件。

使用独立的.NET Excel库有什么好处?

像IronXL这样的独立.NET Excel库的优点是不需要安装Microsoft Office或Interop。它允许跨不同平台(如Windows、macOS和Linux)无缝读取、写入和导出Excel文件。

如何以编程方式将Excel文件转换为CSV格式?

IronXL提供功能轻松将Excel文件转换为CSV格式。使用SaveAs方法将您的Excel工作簿导出为CSV文件格式。

哪个平台与IronXL兼容,用于处理Excel文件?

IronXL兼容包括Xamarin、Linux、macOS、Azure、.NET Core和.NET Framework在内的多个平台,为在不同环境中工作的开发人员提供灵活性。

使用IronXL可以在Excel列中处理哪些类型的数据?

IronXL支持广泛的数据类型,包括文本、整数、日期、货币、公式和百分比,用于Excel列中的灵活数据处理。

如何使用.NET库在Excel电子表格中执行计算?

使用IronXL,您可以通过编程方式使用公式在Excel电子表格中执行计算。这样可以自动化复杂的计算和数据处理任务。

是否可以使用.NET库处理Excel文件中的多个工作表?

是的,IronXL允许您在一个Excel文件中处理多个工作表。您可以轻松访问、修改并通过其API在不同工作表之间导出数据。

如何在.NET Core项目中设置IronXL?

要在.NET Core项目中设置IronXL,您可以通过NuGet包管理器安装。在包管理器控制台中使用命令Install-Package IronXL.Excel,或者通过Visual Studio中的NuGet包管理器添加。

IronXL有哪些许可和定价选项?

IronXL提供各种许可选项,包括为改进和支持支付的一年会员费。安全功能和无限制再分发权可能会产生额外费用。

Curtis Chau
技术作家

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

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