跳至页脚内容
使用 IRONXL

.NET Excel 库(开发者教程)

IronXL使您能够使用几行代码在 C#/ .NET中创建、读取和导出 Excel 文件,而无需安装 Microsoft Office,这使其成为需要快速 Excel 集成功能的快速发展的初创公司的完美选择。

IronXL为何是.NET开发中最佳的Excel库?

在本文中,我们将探讨IronXL,这是一个Excel 库,它简化了在.NET中以编程方式处理 Microsoft Excel 文档的过程。 我们将创建一个 Excel 电子表格环境,用于读取 Excel 工作表写入 Excel 表格以及将电子表格文件导出为 CSV 文件

为什么选择IronXL而不是 Microsoft.Office.Interop?

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

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

对于需要快速部署的创业公司创始人而言, IronXL消除了开发和生产服务器上对 Microsoft Office 安装的依赖,从而显著降低了基础架构的复杂性和许可成本。 该库的跨平台支持确保您的 Excel 处理功能无论是在 Linux 容器、Azure Functions 还是传统的 Windows 服务器上都能无缝运行。

IronXL支持哪些平台和格式?

广泛的格式支持意味着您可以轻松地在不同的电子表格文件类型之间进行转换,无论是从客户上传中导入 Excel 数据,还是导出为不同的格式以供不同的利益相关者使用。

如何设置一个.NET项目以使用IronXL?

接下来的章节将向您展示使用IronXL库创建和读取 Excel 文件是多么简单。

创建新的控制台项目需要哪些步骤?

步骤 1:启动一个新项目以创建 Excel 文件。

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

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

Visual Studio 的"添加新项目"对话框显示了各种 .NET 项目模板,包括控制台应用程序、ASP.NET Core Web 应用程序、Blazor 服务器应用程序和 ASP.NET Core Web API,其中控制台应用程序已突出显示,可用于 Excel 库教程。 新项目

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

Visual Studio 新建项目配置屏幕显示了控制台应用程序模板选择(支持 C#)、跨平台操作系统选项(Linux、macOS、Windows)以及用于输入项目名称和 Excel 库开发位置的字段 项目配置

我应该选择哪个.NET Framework版本?

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

Visual Studio 项目配置窗口显示了控制台应用程序设置,其中已选择 .NET 6.0 LTS 框架,并提供了 C#、Linux、macOS、Windows 和控制台等平台选项,用于 Excel 库开发。 框架选择

对于初创企业而言,选择.NET 6.0 LTS 可确保长期稳定性和支持,从而减少在关键增长阶段进行框架升级的需求。 该版本还提供了卓越的性能改进,并且与Docker 部署Azure Functions完全兼容。

如何通过NuGet包管理器安装IronXL ?

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

Install-Package IronXL.Excel

Visual Studio 包管理器控制台显示命令"PM> Install-Package IronXL.Excel"正在执行,并确认 Excel 库已成功安装。 IronXL 安装

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

NuGet 包管理器窗口显示 IronXL.Excel 包(版本 2023.4.13)已准备就绪,可供安装,显示下载量为 386K,并且"安装"按钮已高亮显示,方便集成 Excel 库。 NuGet 软件包管理器

安装过程非常简单,不到一分钟即可完成。 对于使用 CI/CD 流水线的团队来说, IronXL可以轻松集成到自动化构建中。 请查看许可页面,了解适合初创企业的定价选项以及如何在部署流程中应用许可证密钥

如何使用C#中的IronXL创建Excel文件?

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

生成新的Excel工作簿所需的最少代码是什么?

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 方法将更改保存到指定位置。

对于更复杂的场景,您可以添加多个工作表应用单元格格式设置单元格数据格式,甚至可以通过编程方式 创建 Excel 图表

// Create a workbook with multiple sheets and formatting
WorkBook workbook = WorkBook.Create();
WorkSheet salesSheet = workbook.CreateWorkSheet("Sales");
WorkSheet revenueSheet = workbook.CreateWorkSheet("Revenue");

// Add headers with formatting
salesSheet["A1"].Value = "Product";
salesSheet["B1"].Value = "Quantity";
salesSheet["C1"].Value = "Revenue";

// Apply bold formatting to headers
salesSheet["A1:C1"].Style.Font.Bold = true;

// Add data with number formatting
salesSheet["A2"].Value = "Widget A";
salesSheet["B2"].Value = 150;
salesSheet["C2"].Value = 4500.00;
salesSheet["C2"].FormatString = "$#,##0.00"; // Currency format

// Auto-size columns for better readability
salesSheet.AutoSizeColumn(0);
salesSheet.AutoSizeColumn(1);
salesSheet.AutoSizeColumn(2);

workbook.SaveAs("sales_report.xlsx");
// Create a workbook with multiple sheets and formatting
WorkBook workbook = WorkBook.Create();
WorkSheet salesSheet = workbook.CreateWorkSheet("Sales");
WorkSheet revenueSheet = workbook.CreateWorkSheet("Revenue");

// Add headers with formatting
salesSheet["A1"].Value = "Product";
salesSheet["B1"].Value = "Quantity";
salesSheet["C1"].Value = "Revenue";

// Apply bold formatting to headers
salesSheet["A1:C1"].Style.Font.Bold = true;

// Add data with number formatting
salesSheet["A2"].Value = "Widget A";
salesSheet["B2"].Value = 150;
salesSheet["C2"].Value = 4500.00;
salesSheet["C2"].FormatString = "$#,##0.00"; // Currency format

// Auto-size columns for better readability
salesSheet.AutoSizeColumn(0);
salesSheet.AutoSizeColumn(1);
salesSheet.AutoSizeColumn(2);

workbook.SaveAs("sales_report.xlsx");
' Create a workbook with multiple sheets and formatting
Dim workbook As WorkBook = WorkBook.Create()
Dim salesSheet As WorkSheet = workbook.CreateWorkSheet("Sales")
Dim revenueSheet As WorkSheet = workbook.CreateWorkSheet("Revenue")

' Add headers with formatting
salesSheet("A1").Value = "Product"
salesSheet("B1").Value = "Quantity"
salesSheet("C1").Value = "Revenue"

' Apply bold formatting to headers
salesSheet("A1:C1").Style.Font.Bold = True

' Add data with number formatting
salesSheet("A2").Value = "Widget A"
salesSheet("B2").Value = 150
salesSheet("C2").Value = 4500.0
salesSheet("C2").FormatString = "$#,##0.00" ' Currency format

' Auto-size columns for better readability
salesSheet.AutoSizeColumn(0)
salesSheet.AutoSizeColumn(1)
salesSheet.AutoSizeColumn(2)

workbook.SaveAs("sales_report.xlsx")
$vbLabelText   $csharpLabel

微软 Excel 界面,展示了一个通过编程方式创建的工作簿,其中 A1 单元格输入了test,演示了如何使用 IronXL .NET 库创建基本的 Excel 文件。 Excel 输出

哪里可以找到更多关于创建Excel文件的示例?

要了解有关创建 Excel 文件的更多信息,请查看本教程,了解如何在.NET中创建一个 Excel 文件。 您还可以探索如何在不使用 Interop 的情况下在 C# 中使用 Excel ,并以编程方式创建 Excel 图表

如何读取Excel数据并导出为不同格式?

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

我需要编写什么代码才能加载和修改现有的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 方法修改工作表值并将工作簿保存为不同的文件格式。

IronXL提供了灵活的方式来选择范围读取 CSV 文件以及处理各种数据结构。 以下是一个更详细的示例,展示了访问和操作 Excel 数据的不同方法:

// Load workbook from various sources
WorkBook workbook = WorkBook.Load("data.xlsx");

// Access worksheets in multiple ways
WorkSheet sheet1 = workbook.WorkSheets[0]; // By index
WorkSheet sheet2 = workbook.GetWorkSheet("Sheet2"); // By name

// Read data from ranges
var range = sheet1["A1:C10"];
foreach (var cell in range)
{
    Console.WriteLine($"{cell.Address}: {cell.Value}");
}

// Convert to DataTable for easier processing
DataTable dataTable = sheet1.ToDataTable(true);

// Export to various formats
workbook.SaveAs("output.csv"); // CSV format
workbook.SaveAsJson("output.json"); // JSON format
workbook.SaveAsXml("output.xml"); // XML format
// Load workbook from various sources
WorkBook workbook = WorkBook.Load("data.xlsx");

// Access worksheets in multiple ways
WorkSheet sheet1 = workbook.WorkSheets[0]; // By index
WorkSheet sheet2 = workbook.GetWorkSheet("Sheet2"); // By name

// Read data from ranges
var range = sheet1["A1:C10"];
foreach (var cell in range)
{
    Console.WriteLine($"{cell.Address}: {cell.Value}");
}

// Convert to DataTable for easier processing
DataTable dataTable = sheet1.ToDataTable(true);

// Export to various formats
workbook.SaveAs("output.csv"); // CSV format
workbook.SaveAsJson("output.json"); // JSON format
workbook.SaveAsXml("output.xml"); // XML format
' Load workbook from various sources
Dim workbook As WorkBook = WorkBook.Load("data.xlsx")

' Access worksheets in multiple ways
Dim sheet1 As WorkSheet = workbook.WorkSheets(0) ' By index
Dim sheet2 As WorkSheet = workbook.GetWorkSheet("Sheet2") ' By name

' Read data from ranges
Dim range = sheet1("A1:C10")
For Each cell In range
    Console.WriteLine($"{cell.Address}: {cell.Value}")
Next

' Convert to DataTable for easier processing
Dim dataTable As DataTable = sheet1.ToDataTable(True)

' Export to various formats
workbook.SaveAs("output.csv") ' CSV format
workbook.SaveAsJson("output.json") ' JSON format
workbook.SaveAsXml("output.xml") ' XML format
$vbLabelText   $csharpLabel

控制台窗口显示使用 IronXL .NET 库示例代码读取 Excel 单元格数据后成功输出的test语句。 控制台输出

Excel文件有哪些导出选项?

还可以通过名称或索引值引用工作表,将 Excel 电子表格中的数据导出IronXL单独的文件。IronXL 支持导出为多种格式,包括CSVJSON、XMLHTML 。 您还可以导出为 DataSet 和 DataTable,以便与您的.NET数据处理管道无缝集成。

对于需要与各种系统集成的创业团队来说,IronXL 的导出功能可以实现快速的数据交换。 您可以从 SQL 数据库加载 Excel从 Excel 更新数据库记录,或者通过 DataTable 处理 Excel 数据,以进行快速原型设计和 MVP 开发。

IronXL的下一步是什么?

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

IronXL提供哪些高级功能?

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

其他高级功能包括:

初创团队的定价模式是什么?

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

对于初创公司, IronXL提供开发者许可证,让您可以不受限制地评估该库。 许可模式透明,没有隐藏费用,您可以从单个开发者许可证开始,并随着团队的壮大而升级。 请查看故障排除指南,了解如何在不同部署场景下应用许可证。

无论您是构建Blazor应用程序、部署到AWS Lambda 、使用.NET MAUI还是创建ASP.NET Web 应用程序, IronXL都能提供所需的灵活性和性能,让您快速交付 Excel 功能,而无需 Microsoft Office 依赖项的额外开销。

常见问题解答

如何在不使用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 机器人,将他对技术的热爱与创造力相结合。

钢铁支援团队

我们每周 5 天,每天 24 小时在线。
聊天
电子邮件
打电话给我