.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?
using C# IronXL .NET Excel 库可以读取 Microsoft Excel 中创建的文档并将其转换为 CSV 文件。 IronXL是一个独立的.NET软件库,不需要安装 Microsoft Office、Microsoft.Office.Interop.Excel 或 Excel Interop。 它可以读取多种电子表格格式,而不仅仅是一个静态库。
IronXL 的简单 C# API 使得在.NET环境中读取、修改和生成多个Excel 电子表格变得容易。 它完全支持 Xamarin、 Linux 、 macOS 、 Azure 、 .NET Core应用程序和.NET Framework。
对于需要快速部署的创业公司创始人而言, IronXL消除了开发和生产服务器上对 Microsoft Office 安装的依赖,从而显著降低了基础架构的复杂性和许可成本。 该库的跨平台支持确保您的 Excel 处理功能无论是在 Linux 容器、Azure Functions 还是传统的 Windows 服务器上都能无缝运行。
IronXL支持哪些平台和格式?
- 兼容.NET Core和.NET Framework
- 支持 Web 应用程序、Windows 窗体应用程序和控制台应用程序
- 兼容Linux 、 macOS和 Windows 系统
- 提供对 Excel 文件的快速便捷访问 *支持读取多种 Excel 文件类型:XLSX、CSV、XLS、XLST、TSV、XLSM 等
- 在Excel表格上进行计算 支持多种数据类型:文本、整数、日期、货币、公式和百分比 处理 Excel 列的多种值格式
广泛的格式支持意味着您可以轻松地在不同的电子表格文件类型之间进行转换,无论是从客户上传中导入 Excel 数据,还是导出为不同的格式以供不同的利益相关者使用。
如何设置一个.NET项目以使用IronXL?
接下来的章节将向您展示使用IronXL库创建和读取 Excel 文件是多么简单。
创建新的控制台项目需要哪些步骤?
步骤 1:启动一个新项目以创建 Excel 文件。
启动 Visual Studio 后,从"文件"菜单中选择"新建项目"。
在出现的对话框中,选择"控制台应用程序".NET 项目模板,然后单击"下一步"。
新项目
在"位置"字段中输入新项目的位置后,您可以输入您选择的任何项目名称。 点击"下一步"按钮继续。
项目配置
我应该选择哪个.NET Framework版本?
使用"框架"下拉选项选择.NET Framework 。 这里我们使用的是 .NET 6.0,这是长期支持的版本。 然后按"创建"。
框架选择
对于初创企业而言,选择.NET 6.0 LTS 可确保长期稳定性和支持,从而减少在关键增长阶段进行框架升级的需求。 该版本还提供了卓越的性能改进,并且与Docker 部署和Azure Functions完全兼容。
如何通过NuGet包管理器安装IronXL ?
获取 IronXL 库,以下解决方案需要用到该库。 为此,请在 NuGet 包管理器控制台中输入以下命令:
Install-Package IronXL.Excel
IronXL.Excel
IronXL 安装
另一种方法是使用 NuGet 包管理器搜索"IronXL"包。 然后,从与 IronXL 相关的所有 NuGet 程序包列表中选择要下载的所需程序包。
IronXL.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
上面的代码演示了如何使用IronXL包创建一个新的 Excel 工作簿和工作表。 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")
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
如何通过名称或索引访问工作表?
在前面的示例中,使用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
控制台输出
Excel文件有哪些导出选项?
还可以通过名称或索引值引用工作表,将 Excel 电子表格中的数据导出IronXL单独的文件。IronXL 支持导出为多种格式,包括CSV 、 JSON、XML和HTML 。 您还可以导出为 DataSet 和 DataTable,以便与您的.NET数据处理管道无缝集成。
对于需要与各种系统集成的创业团队来说,IronXL 的导出功能可以实现快速的数据交换。 您可以从 SQL 数据库加载 Excel ,从 Excel 更新数据库记录,或者通过 DataTable 处理 Excel 数据,以进行快速原型设计和 MVP 开发。
IronXL的下一步是什么?
从创建新文件到执行精确计算, IronXL可以满足您所有的 Excel 项目需求。 今天,我们探索了IronXL如何创建、读取和导出 Excel 文件,并了解了如何通过几行代码完全控制这些过程。
IronXL提供哪些高级功能?
IronXL为所有涉及 Microsoft Excel 文档的可编程任务提供全面的解决方案。 您可以执行公式计算、对字符串或数字进行排序、剪切和添加数据、查找和替换、合并和取消合并单元格、可视化数据以及保存文件。 您还可以设置单元格数据类型并验证电子表格数据。 具备读取和写入 CSV 文件的能力,可以与 Excel 数据进行交互。
其他高级功能包括:
初创团队的定价模式是什么?
IronXL在启动时花费$999,但客户可以选择支付一年期会员费以获取改进和产品支持。 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提供各种许可选项,包括为改进和支持支付的一年会员费。安全功能和无限制再分发权可能会产生额外费用。




