使用IRONXL

使用 C# 在没有 Microsoft Office 的情况下处理 Excel 文件

发布 2024年一月14日
分享:

IronXL 简介

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

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

为什么选择IronXL?

由于不要求在服务器上安装 MS Office,因此 IronXL 成为各种服务器环境下的最佳解决方案。

这使其成为服务器环境中的首选解决方案,在这些环境中,由于许可或服务器性能限制,安装Microsoft Office不可行。

IronXL的主要功能

IronXL 的主要功能如下:

  • 读写 Excel 文件:IronXL 可以创建和操作 Excel 文件。 它支持传统的 XLS 和现代的 XLSX 文件格式,确保与不同版本的 Excel 兼容。
  • 导出数据:IronXL 可以导出数据将 Excel 文件高效地转换为 XML 文件、CSV 等其他格式。
  • 支持 .NET Core 和 Framework:IronXL 可与 .NET Core 和 .NET Framework 无缝协作,是各种开发环境的通用选择。
  • 易于使用:有了 IronXL.Excel,开发人员只需最少的代码行即可执行复杂的 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 文件、添加工作表并填充数据。

以下代码展示了我们如何创建 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 支持标准 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 文件中的数据。

下面的示例说明了在 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.Excel 在数据处理方面的灵活性。

以下是输出文件:

无需 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 for .NET 数据处理灵活性的一项功能。 该功能对于涉及批量数据操作的场景或与数据库连接时尤为有用。

// 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 的设计目的是在处理大型 Excel 文件时尽量减少内存使用并优化性能。

为实现这一目标,译文采用了高效的数据处理算法,并允许有选择地读取工作表和单元格,从而减轻了系统资源的负担。

处理 Excel 文件格式

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

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

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

IronXL 提供了一个免费试用翻译的目的是让用户在购买前了解这些工具的特点和功能。 试用期允许开发人员在自己的环境中测试该库,确保其满足在 .NET 应用程序中操作 Excel 文件的特定需求。

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

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

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

免费NuGet下载 总下载量: 1,086,940 查看许可证 >