使用IRONXL

无需 Office 的 C# Excel 库(初学者教程)

发布 2024年一月14日
分享:

IronXL 简介

IronXL 图书馆是传统 Excel 互操作 提供了一种更精简、更高效的 Excel 文件处理方法。

对于在.NET 应用程序中管理 Microsoft Excel 数据的开发人员来说,这是一个非常有用的 Excel API,可以独立于 Microsoft Office 运行。它为管理 XLSX、XLS 和 CSV 等各种格式的 Excel 文件提供了一种直接的方法。

为什么选择 IronXL?

IronXL 无需在服务器上安装 MS Office,因此是各种服务器环境下的最佳解决方案。

这使其成为因许可证或服务器性能限制而无法安装 Microsoft Office 的服务器环境的首选解决方案。

IronXL 的主要功能

IronXL 的主要功能如下:

  • 读写 Excel 文件:IronXL 可以创建和处理 Excel 文件。它支持传统的 XLS 和现代的 XLSX 文件格式,确保与不同版本的 Excel 兼容。
  • 导出数据:IronXL 可以 导出数据 将 Excel 文件高效地转换为其他格式,如 XML 文件、CSV 和其他格式。
  • 支持 .NET Core 和 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 文件,添加工作表并填充数据。

下面的代码展示了我们如何 创建 Excel 文件 使用 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");
// 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");
' Initialize a new Workbook
Dim workbook As New WorkBook()
' Add a new Worksheet named "Sales Data"
Dim 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")
VB   C#

以下是代码输出:

无需 Office 的 C# Excel 库(初级教程):图 2

这段代码将创建一个工作簿,添加一个工作表,并在其中填入销售数据,然后将其保存为 Excel 文件。

IronXL 支持标准 Excel 符号,使开发人员能够引用 "A1 "等单元格来读取和操作数据。

阅读 Excel 文件

从 Excel 文件中读取和提取信息对于数据处理应用程序至关重要。IronXL 允许你打开现有的 Excel 文件,并从其中提取信息。 阅读其内容 无需 Excel 互操作。

下面是一个代码示例:

// 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);
    }
}
// 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);
    }
}
' Load an existing Excel file
Dim workbook = WorkBook.Load("FinancialData.xlsx")
' Access a specific worksheet by name
Dim worksheet = workbook.GetWorkSheet("Quarterly Report")
' Read values from specific cells
Dim quarter As String = worksheet ("A2").StringValue
Dim revenue As Double = worksheet ("B2").DoubleValue
Dim 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
VB   C#

这段代码演示了如何加载 Excel 文件、访问特定工作表以及从单元格中读取值,包括对行和列进行迭代。

将数据写入 Excel 文件

经常需要修改 Excel 文件。IronXL 可让您轻松写入和更新 Excel 文件中的数据。

下面的示例说明了如何在 Excel 文件中添加和更新数据:

// 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");
// 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");
' Load an existing Excel file
Dim workbook = WorkBook.Load("EmployeeData.xlsx")
Dim 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")
VB   C#

在这个示例中,新数据被添加到 Excel 文件中,现有数据被更新,展示了 IronXL 在数据处理方面的灵活性。

下面是输出文件:

无需 Office 的 C# Excel 库(初级教程):图 3

导出 Excel 数据

数据分析和报告通常需要将数据从 Excel 文件导出为其他格式。IronXL 简化了这一过程。

下面介绍如何将 Excel 文件中的数据导出为 CSV 格式:

// 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");
// 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");
' Load the Excel file
Dim 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")
VB   C#

该代码片段演示了将 Excel 文件转换为 CSV 和 JSON 格式,突出显示了 IronXL 在处理不同文件格式方面的多功能性。

IronXL 的高级功能

IronXL 不仅仅支持 Excel 的基本操作,它还具备满足复杂数据处理和格式化需求的高级功能。让我们来详细了解其中的一些功能。

使用数据表

在 Excel 表和 .NET 数据表之间进行转换是一项增强 IronXL 数据处理灵活性的功能。该功能在涉及批量数据操作或与数据库连接时特别有用。

// 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);
// 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);
' Load an existing Excel file
Dim workbook = WorkBook.Load("EmployeeRecords.xlsx")
Dim worksheet = workbook.DefaultWorkSheet
' Convert the Worksheet to a DataTable
Dim dataTable As DataTable = worksheet.ToDataTable(True)
VB   C#

优化大型 Excel 文件的性能

高效处理大型 Excel 文件是 IronXL 的一项主要功能,使其适合处理大量数据的企业级应用程序。

在处理大型 Excel 文件时,IronXL 可最大限度地减少内存使用量并优化性能。

为此,它采用了高效的数据处理算法,并允许有选择地读取工作表和单元格,从而减少了对系统资源的负荷。

处理 Excel 文件格式

IronXL 支持各种 Excel 文件格式,确保不同版本的 Excel 和其他电子表格软件之间的兼容性。

// 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
// 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
' Creating a workbook
Dim workbook As 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
VB   C#

本例展示了 IronXL 如何以 XLSX、XLS 和 CSV 格式创建和保存文档,从而灵活地存储和共享数据。

结论

无需 Office 的 C# Excel 库(初级教程):图 4

IronXL 是一个功能强大的 C# 库,无需 Microsoft Office 即可处理 Excel 文件。它能够读取、写入和导出 Excel 文件,而且易于使用,同时支持 .NET Core 和 .NET Framework,因此是在应用程序中处理 Excel 数据的开发人员的绝佳选择。

无论您是创建新的 Excel 文档、处理现有文件,还是将数据导出为不同格式,IronXL 都能提供强大而高效的解决方案。

如需更详细的文档、代码示例和支持,请访问 IronXL 官方网站或查看其 GitHub 代码库。有了 IronXL,用 C# 管理 Excel 文件就变得简单易行了。

IronXL 提供了 免费试用 用户可以在购买前试用该库,以了解其特性和功能。试用期允许开发人员在自己的环境中测试该库,确保它能满足他们在.NET 应用程序中操作 Excel 文件的特定需求。

试用结束后 许可证 IronXL 的起价为 $749,可完全访问其所有高级特性和功能。

< 前一页
C# Excel 自动化(开发者教程)
下一步 >
如何在C#中不使用oledb将Excel转换为Datatable

准备开始了吗? 版本: 2024.9 刚刚发布

免费NuGet下载 总下载量: 988,189 查看许可证 >