在 C# 中无需 Microsoft Office 处理 Excel 文件
介绍 IronXL
IronXL库是 C# 中传统Excel Interop的替代方案,它提供了一种更精简、更高效的 Excel 文件处理方法。
这是一个实用的 Excel API,供开发人员在 .NET 应用程序中管理 Microsoft Excel 数据时使用,它独立于 Microsoft Office 运行。它提供了一种简便的方法来管理各种格式的 Excel 文件,例如 XLSX、XLS 和 CSV。
为什么选择 IronXL?
IronXL 无需在服务器上安装 MS Office,因此是各种服务器环境下的理想解决方案。
这使得它成为服务器环境中的首选解决方案,在这些环境中,由于许可或服务器性能限制,安装Microsoft Office并不可行。
IronXL的主要特点
IronXL的主要特点如下:
-读取和写入 Excel 文件: IronXL可以创建和操作 Excel 文件。 它同时支持经典的 XLS 和现代的 XLSX 文件格式,确保与不同版本的 Excel 兼容。 -数据导出: IronXL可以高效地将数据从 Excel 文件导出到其他格式,例如 XML 文件、CSV 等格式。 -支持.NET Core和 .NET Framework: IronXL可与.NET Core和.NET Framework无缝协作,使其成为各种开发环境的通用选择。 -易用性:借助IronXL,开发人员可以用最少的代码行执行复杂的 Excel 操作,从而提高生产力和效率。
安装和设置
要开始使用 IronXL,您需要安装 NuGet 包。 以下是实现方法:
通过NuGet程序包管理器:在NuGet程序包管理器中搜索IronXL并安装它。
无需 Office 的 C# Excel 库(入门教程):图 1
使用程序包管理器控制台:在 Visual Studio 的程序包管理器控制台中运行命令 Install-Package IronXl.Excel。
与 IronXL 合作
IronXL 使 C# 开发人员能够高效地与 Excel 文件进行交互。 本节将深入探讨您可以使用 IronXL 执行的各种操作,并提供详细的指导和代码示例。
创建新的 Excel 文件
创建新的 Excel 文件是数据处理和报告中的常见任务。 使用 IronXL,您只需几行代码即可轻松创建 Excel 文件,添加工作表,并向其中填充数据。
以下代码展示了如何使用 IronXL创建 Excel 文件:
using IronXL;
// Initialize a new Workbook
var workbook = new WorkBook();
// Add a new Worksheet named "Sales Data"
var worksheet = workbook.CreateWorkSheet("Sales Data");
// Populate the Worksheet with data
worksheet["A1"].Value = "Month";
worksheet["B1"].Value = "Sales";
worksheet["A2"].Value = "January";
worksheet["B2"].Value = 5000;
worksheet["A3"].Value = "February";
worksheet["B3"].Value = 6000;
// Save the Workbook as an Excel file
workbook.SaveAs("SalesReport.xlsx");
using IronXL;
// Initialize a new Workbook
var workbook = new WorkBook();
// Add a new Worksheet named "Sales Data"
var worksheet = workbook.CreateWorkSheet("Sales Data");
// Populate the Worksheet with data
worksheet["A1"].Value = "Month";
worksheet["B1"].Value = "Sales";
worksheet["A2"].Value = "January";
worksheet["B2"].Value = 5000;
worksheet["A3"].Value = "February";
worksheet["B3"].Value = 6000;
// Save the Workbook as an Excel file
workbook.SaveAs("SalesReport.xlsx");
Imports IronXL
' Initialize a new Workbook
Private workbook = New WorkBook()
' Add a new Worksheet named "Sales Data"
Private worksheet = workbook.CreateWorkSheet("Sales Data")
' Populate the Worksheet with data
Private worksheet("A1").Value = "Month"
Private worksheet("B1").Value = "Sales"
Private worksheet("A2").Value = "January"
Private worksheet("B2").Value = 5000
Private worksheet("A3").Value = "February"
Private worksheet("B3").Value = 6000
' Save the Workbook as an Excel file
workbook.SaveAs("SalesReport.xlsx")
无需 Office 的 C# Excel 库(入门教程):图 2
这段代码会创建一个工作簿,添加一个工作表,并用销售数据填充该工作表,然后将其保存为 Excel 文件。
IronXL 支持标准 Excel 表示法,使开发人员能够引用"A1"等单元格来读取和操作数据。
读取 Excel 文件
从 Excel 文件中读取和提取信息对于数据处理应用至关重要。 IronXL 允许您打开现有的 Excel 文件并读取其内容,而无需 Excel 互操作。
以下是一个代码示例:
using IronXL;
// Load an existing Excel file
var workbook = WorkBook.Load("FinancialData.xlsx");
// Access a specific worksheet by name
var worksheet = workbook.GetWorkSheet("Quarterly Report");
// Read values from specific cells
string quarter = worksheet["A2"].StringValue;
double revenue = worksheet["B2"].DoubleValue;
double expenses = worksheet["C2"].DoubleValue;
// You can also iterate over rows and columns if needed
foreach (var row in worksheet.Rows)
{
foreach (var cell in row)
{
Console.WriteLine(cell.Value);
}
}
using IronXL;
// Load an existing Excel file
var workbook = WorkBook.Load("FinancialData.xlsx");
// Access a specific worksheet by name
var worksheet = workbook.GetWorkSheet("Quarterly Report");
// Read values from specific cells
string quarter = worksheet["A2"].StringValue;
double revenue = worksheet["B2"].DoubleValue;
double expenses = worksheet["C2"].DoubleValue;
// You can also iterate over rows and columns if needed
foreach (var row in worksheet.Rows)
{
foreach (var cell in row)
{
Console.WriteLine(cell.Value);
}
}
Imports IronXL
' Load an existing Excel file
Private workbook = WorkBook.Load("FinancialData.xlsx")
' Access a specific worksheet by name
Private worksheet = workbook.GetWorkSheet("Quarterly Report")
' Read values from specific cells
Private quarter As String = worksheet("A2").StringValue
Private revenue As Double = worksheet("B2").DoubleValue
Private expenses As Double = worksheet("C2").DoubleValue
' You can also iterate over rows and columns if needed
For Each row In worksheet.Rows
For Each cell In row
Console.WriteLine(cell.Value)
Next cell
Next row
这段代码演示了如何加载 Excel 文件、访问特定工作表以及读取单元格中的值,包括遍历行和列。
将数据写入 Excel 文件
修改Excel文件是一项常见的需求。 IronXL 让您能够轻松地在 Excel 文件中写入和更新数据。
以下示例演示了如何在 Excel 文件中添加和更新数据:
using IronXL;
// Load an existing Excel file
var workbook = WorkBook.Load("EmployeeData.xlsx");
var worksheet = workbook.DefaultWorkSheet;
// Adding new data to cells
worksheet["A4"].Value = "John Doe";
worksheet["B4"].Value = "Sales";
worksheet["C4"].Value = 45000;
// Updating existing data
worksheet["C2"].Value = 50000; // Update salary of an existing employee
// Save the changes to a new file
workbook.SaveAs("UpdatedEmployeeData.xlsx");
using IronXL;
// Load an existing Excel file
var workbook = WorkBook.Load("EmployeeData.xlsx");
var worksheet = workbook.DefaultWorkSheet;
// Adding new data to cells
worksheet["A4"].Value = "John Doe";
worksheet["B4"].Value = "Sales";
worksheet["C4"].Value = 45000;
// Updating existing data
worksheet["C2"].Value = 50000; // Update salary of an existing employee
// Save the changes to a new file
workbook.SaveAs("UpdatedEmployeeData.xlsx");
Imports IronXL
' Load an existing Excel file
Private workbook = WorkBook.Load("EmployeeData.xlsx")
Private worksheet = workbook.DefaultWorkSheet
' Adding new data to cells
Private worksheet("A4").Value = "John Doe"
Private worksheet("B4").Value = "Sales"
Private worksheet("C4").Value = 45000
' Updating existing data
Private worksheet("C2").Value = 50000 ' Update salary of an existing employee
' Save the changes to a new file
workbook.SaveAs("UpdatedEmployeeData.xlsx")
在这个例子中,新数据被添加到 Excel 文件中,现有数据被更新,展示了 IronXL 在数据操作方面的灵活性。
导出 Excel 数据
将 Excel 文件中的数据导出为其他格式,对于数据分析和报告而言通常是必要的。 IronXL 简化了这一过程。
以下是如何将 Excel 文件中的数据导出为 CSV 格式的方法:
using IronXL;
// Load the Excel file
var workbook = WorkBook.Load("ProjectData.xlsx");
// Export the entire Workbook or a specific Worksheet to CSV
workbook.SaveAsCsv("ProjectData.csv");
// You can also export to other formats like JSON
workbook.SaveAsJson("ProjectData.json");
using IronXL;
// Load the Excel file
var workbook = WorkBook.Load("ProjectData.xlsx");
// Export the entire Workbook or a specific Worksheet to CSV
workbook.SaveAsCsv("ProjectData.csv");
// You can also export to other formats like JSON
workbook.SaveAsJson("ProjectData.json");
Imports IronXL
' Load the Excel file
Private workbook = WorkBook.Load("ProjectData.xlsx")
' Export the entire Workbook or a specific Worksheet to CSV
workbook.SaveAsCsv("ProjectData.csv")
' You can also export to other formats like JSON
workbook.SaveAsJson("ProjectData.json")
此代码片段演示了将 Excel 文件转换为 CSV 和 JSON 格式的过程,突显了 IronXL 在处理不同文件格式方面的多功能性。
IronXL 的高级功能
IronXL 不仅仅是基本的 Excel 操作; 它配备了诸多高级功能,可满足复杂的数据处理和格式化需求。 让我们更详细地了解一下其中的一些功能。
使用数据表
在 IronXL 中,Excel 表格和 .NET 数据表之间的转换功能增强了数据处理的灵活性。 此功能在涉及批量数据操作或与数据库交互的场景中特别有用。
using IronXL;
using System.Data;
// Load an existing Excel file
var workbook = WorkBook.Load("EmployeeRecords.xlsx");
var worksheet = workbook.DefaultWorkSheet;
// Convert the Worksheet to a DataTable
DataTable dataTable = worksheet.ToDataTable(true);
using IronXL;
using System.Data;
// Load an existing Excel file
var workbook = WorkBook.Load("EmployeeRecords.xlsx");
var worksheet = workbook.DefaultWorkSheet;
// Convert the Worksheet to a DataTable
DataTable dataTable = worksheet.ToDataTable(true);
Imports IronXL
Imports System.Data
' Load an existing Excel file
Private workbook = WorkBook.Load("EmployeeRecords.xlsx")
Private worksheet = workbook.DefaultWorkSheet
' Convert the Worksheet to a DataTable
Private dataTable As DataTable = worksheet.ToDataTable(True)
针对大型 Excel 文件的性能优化
IronXL 的一个关键特性是能够高效地处理大型 Excel 文件,使其适用于处理大量数据的企业级应用程序。
IronXL 旨在最大限度地减少内存使用量,并在处理大型 Excel 文件时优化性能。
它通过高效的数据处理算法以及允许选择性读取工作表和单元格来实现这一点,从而降低系统资源的负载。
处理Excel文件格式
IronXL 支持多种 Excel 文件格式,确保与不同版本的 Excel 和其他电子表格软件兼容。
using IronXL;
// Creating a workbook
var workbook = new WorkBook();
// You can save the Workbook in various formats
workbook.SaveAs("ExcelDocument.xlsx"); // XLSX format
workbook.SaveAs("ExcelDocument.xls"); // XLS format
workbook.SaveAsCsv("ExcelDocument.csv"); // CSV format
using IronXL;
// Creating a workbook
var workbook = new WorkBook();
// You can save the Workbook in various formats
workbook.SaveAs("ExcelDocument.xlsx"); // XLSX format
workbook.SaveAs("ExcelDocument.xls"); // XLS format
workbook.SaveAsCsv("ExcelDocument.csv"); // CSV format
Imports IronXL
' Creating a workbook
Private workbook = New WorkBook()
' You can save the Workbook in various formats
workbook.SaveAs("ExcelDocument.xlsx") ' XLSX format
workbook.SaveAs("ExcelDocument.xls") ' XLS format
workbook.SaveAsCsv("ExcelDocument.csv") ' CSV format
此示例展示了 IronXL 如何创建和保存 XLSX、XLS 和 CSV 格式的文档,从而在数据存储和共享方面提供了灵活性。
结论
无需 Office 的 C# Excel 库(入门教程):图 4
IronXL 是一个功能强大的 C# 库,无需 Microsoft Office 即可处理 Excel 文件。它具备读取、写入和导出 Excel 文件的功能,并且易于使用,同时支持 .NET Core 和 .NET Framework,因此对于需要在应用程序中处理 Excel 数据的开发人员来说,IronXL 是一个绝佳的选择。
无论您是创建新的 Excel 文档、处理现有文件,还是将数据导出为不同格式,IronXL 都能提供强大而高效的解决方案。
如需更详细的文档、代码示例和支持,请访问 IronXL 官方网站或查看其 GitHub 存储库。 使用 IronXL,在 C# 中管理 Excel 文件将变得轻松便捷。
IronXL 提供免费试用,用户可以在购买前探索其功能和特性。 试用期允许开发人员在自己的环境中测试该库,以确保它满足他们在 .NET 应用程序中对 Excel 文件操作的特定需求。
试用期结束后,IronXL 的许可证价格从 $799 起,提供对其所有高级特性和功能的完全访问权限。
常见问题解答
IronXL如何在没有Microsoft Office的情况下工作?
IronXL被设计用于在.NET应用程序中管理Excel文件,而无需Microsoft Office。它提供了一个简化的API,使开发人员能够在不依赖Office Interop的情况下执行Excel操作。
在服务器环境中使用IronXL进行Excel操作有什么好处?
IronXL非常适合服务器环境,因为它消除了对Microsoft Office的需求,从而避免了许可或性能问题。它允许在不能安装Office的环境中无缝操作Excel文件。
我如何使用IronXL读取和写入Excel文件?
使用IronXL,您可以通过初始化一个新的Workbook,访问Worksheet对象,并使用方法从Excel单元读取或写入数据来读取和写入Excel文件。
IronXL支持哪些Excel文件格式?
IronXL支持多种Excel文件格式,包括XLSX、XLS和CSV。它还允许将数据导出为XML和JSON格式,增强了数据互操作性。
我如何在我的.NET项目中安装IronXL?
您可以通过在NuGet包管理器中搜索'IronXL',或在包管理器控制台中执行命令Install-Package IronXL.Excel来安装IronXL。
IronXL是否兼容.NET Core和.NET Framework?
是的,IronXL兼容.NET Core和.NET Framework,使其成为各种开发环境中的灵活选项。
IronXL 能高效处理大型 Excel 文件吗?
IronXL经过优化,能够通过最小化内存使用和提供数据的选择性读取和写入方法来有效地处理大型Excel文件。
如何使用IronXL将Excel数据导出为其他格式?
IronXL允许您将Excel数据导出为CSV和JSON格式,这有助于跨不同平台的数据分析和报告。
IronXL为Excel数据操作提供了哪些高级功能?
IronXL提供了将Excel表格转换为.NET数据表的高级功能,并通过有效的数据处理算法优化大数据集的性能。
IronXL 是否提供免费试用版?
是的,IronXL为新用户提供免费试用。这使您可以在决定购买许可证以获得完整访问权限之前探索其功能。

