如何在 C# 中加载 Excel 文件
要在 C# 中加载 Excel 文件,请使用 IronXL 库的 WorkBook.Load() 方法,该方法接受文件路径、流或字节数组,然后以编程方式访问工作表并读取单元格值,而无需安装 Microsoft Office。
本文将演示如何使用 IronXL(一款功能全面的 Excel C# 库)高效且通过编程方式加载 Excel 文件。 无论您是在构建读取 Excel 文件的 ASP.NET MVC 应用程序,还是开发 Windows Forms Excel 阅读器,IronXL 都能提供简单而强大的解决方案。
如何加载 Excel 文件
- 打开 Visual Studio 并创建一个新的 Visual Studio 项目。
- 下载 IronXL NuGet 包库。
- 创建 XLSX 文件或 CSV 文件格式的 Excel 工作簿。
- 现在使用 IronXL 库加载 Excel 文件。
- 使用单元格区域处理 Excel 值。
什么是 IronXL,我为什么要使用它?
什么是IronXL?
C# .NET Excel 库 IronXL 可用于读取 Microsoft Excel 文档中的数据并将其转换为 CSV 文件。 IronXL 不需要安装 Microsoft Office、Microsoft.Office.Interop.Excel 或 Excel Interop。 这是一个完全独立的 .NET Excel 应用程序库,可与 Docker 容器无缝协作,并能部署到 AWS Lambda 函数或 Azure 云服务中。 它可以读取多种电子表格格式。
借助 IronXL 简单易用的 C# API,可以在 .NET 环境中轻松生成、修改和查看 Excel 电子表格。 IronXL 全面支持核心 .NET Core 应用程序、Linux 环境、macOS 系统、Azure 以及 Xamarin。 该库还能与 Blazor 应用程序无缝集成,用于读取 Excel 文件和 .NET MAUI 项目。 以下是 IronXL 的主要功能列表,这些功能使其与其他读取 Excel 文件的应用程序区别开来。
IronXL 有哪些突出的关键特性?
- IronXL 是一个用于 Excel 电子表格的强大 C# 库; 它兼容 .NET Core 和 .NET Framework,是 Excel Interop 的绝佳替代方案。
- IronXL 支持 Web 应用程序、Windows Forms、控制台应用程序以及几乎所有其他 .NET Framework 项目,包括处理 VB.NET Excel 文件的能力。 IronXL 兼容的操作系统包括 Windows、macOS 和 Linux。
- 无论您是加载现有电子表格还是创建新电子表格,使用 IronXL 访问 Excel 文件都既快速又简单。 IronXL 可以读取多种 Excel 文件类型,包括 XLSX、CSV、XLS、XLST、TSV、XLSM 等。 您甚至可以在不同的电子表格格式之间进行转换。
- 我们的众多功能中包括数据表和数据集的导入、更新及导出功能。 IronXL 允许您从各种来源(包括数据库、数据表、数组和集合)将信息导入 Excel 文件。 您可以从 SQL 数据库加载 Excel 数据,并从 Excel 更新数据库记录。 随后,可通过将 Excel 转换为 HTML 或将 DataTable 转换为 CSV 等方法,将 Excel 中的数据导出为 CSV、HTML、PDF 及其他格式。
- IronXL 可为 Excel 电子表格生成计算结果,支持数学函数和复杂的 Excel 公式。
- IronXL 可以处理 Excel 列中的多种数据类型,包括文本、整数、日期、货币、公式和百分比等等。 您可以通过编程方式设置单元格数据格式并应用 Excel 数字格式。
- 针对大型 Excel 文件的性能已进行优化,通过增强的多线程处理能力实现高效的数据处理。 该库遵循安全最佳实践,并能高效处理文件大小限制。
为什么我应该选择 IronXL 而不是其他 Excel 库?
凭借这些特性,IronXL 成为一个灵活而强大的 Excel 文件处理库,为开发人员在以编程方式管理与 Excel 文档相关的任务时提供了更大的便利性和灵活性。 该库提供了全面的 API 参考文档和详尽的教程,以帮助开发者快速入门。 要了解有关 IronXL 库的更多信息,请参阅这些文档。
如何为 Excel 文件操作设置 .NET 项目?
正如后续章节将展示的那样,IronXL库使写入数据以及创建和读取 Excel 文件变得非常简单。 开始之前,请确保您已正确配置许可证密钥(若使用完整版),或者您可以先从免费试用版开始。 对于 Web 应用程序,您可能需要在 web.config 文件中配置许可证密钥。
首先,让我们创建一个用于处理 Excel 文件的新项目:
如何在 Visual Studio 中创建新项目?
Visual Studio 启动后,从"文件"菜单中选择"新建项目"。
.NET"控制台应用程序"项目模板将显示在随后的对话框中; 选中它们,然后双击"下一步"。
我应该配置哪些项目设置?
在"位置"区域输入新项目的位置后,您可以为"项目"输入您想要的任何项目名称。 对于本教程,可以考虑使用类似"ExcelReaderApp"或"IronXLDemo"这样的描述性名称。 按"下一步"按钮继续。
Visual Studio 新建项目配置对话框显示创建 C# 控制台应用程序的选项,其中项目名称"ExcelReaderApp"和典型项目位置路径字段为空。 项目配置
我应该选择哪个 .NET Framework 版本?
通过"框架"下拉菜单,您可以选择 .NET Framework。 这里使用的是长期支持版本的 .NET 6.0。 IronXL 支持多种 .NET 版本,您可以根据项目需求进行选择。 点击"创建"后,再点击"创建"。
目标框架选择
如何安装 IronXL 库?
以下解决方案需要 IronXL 库,您应该获取该库。 为此,请在软件包管理器控制台中输入以下命令:
Install-Package IronXL.Excel
Visual Studio 中的程序包管理器控制台窗口显示"Install-Package IronXL.Excel"命令已成功安装,并显示了安装进度和确认消息。 IronXL 安装
另一种方法是使用 NuGet 包管理器搜索"IronXL"包。
浏览后应该会显示链接到 IronXL 的所有 NuGet 包的列表。 然后,选择所需的版本并点击安装按钮。
Visual Studio 中的 NuGet 包管理器窗口突出显示了版本为 2023.4.13 的 IronXL.Excel 包。"安装"按钮被显著突出显示,并带有指向它的箭头。 NuGet 软件包管理器
如何使用 IronXL 读取 Excel 文件?
以下代码允许您使用 IronXL 加载和读取 Excel 文件。 此示例演示了在不使用 Interop 的情况下读取 Excel 文件的基本方法。
using IronXL;
using System.Linq;
// Load the workbook with the name "Demo.xlsx".
WorkBook workBook = WorkBook.Load("Demo.xlsx");
// Access the first worksheet in the workbook.
WorkSheet sheet = workBook.WorkSheets.First();
// Iterate through the range of cells A2 to B10 and print each cell's address and text content.
foreach (var cell in sheet["A2:B10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
using IronXL;
using System.Linq;
// Load the workbook with the name "Demo.xlsx".
WorkBook workBook = WorkBook.Load("Demo.xlsx");
// Access the first worksheet in the workbook.
WorkSheet sheet = workBook.WorkSheets.First();
// Iterate through the range of cells A2 to B10 and print each cell's address and text content.
foreach (var cell in sheet["A2:B10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
Imports IronXL
Imports System.Linq
' Load the workbook with the name "Demo.xlsx".
Private workBook As WorkBook = WorkBook.Load("Demo.xlsx")
' Access the first worksheet in the workbook.
Private sheet As WorkSheet = workBook.WorkSheets.First()
' Iterate through the range of cells A2 to B10 and print each cell's address and text content.
For Each cell In sheet("A2:B10")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
代码的每个部分是做什么的?
第一行代码 using IronXL; 用于将库集成到此演示项目中,从而使 IronXL 功能可用。
然后使用Load对象中提供的方法WorkBook加载名为"Demo.xlsx"的现有 Excel 文件。
Load 方法接受三种类型的输入:带路径的文件名、流和字节数组。 在上面的例子中,使用文件名和路径的方法来加载文件。
如何访问特定的工作表和单元格范围?
要执行读取 Excel 文件操作,我们使用 @@ --CODE-82207--@@ 方法从工作簿的工作表集合中选择初始工作表,从而获得默认值 WorkSheet 。 您还可以通过名称或索引访问工作表来管理它们。
然后,通过指定单元格区域,使用工作表对象选择 Excel 工作表区域。 "选择范围"功能允许您操作特定单元格、整行或整列。 然后它将遍历指定范围内的每个单元格值(A2:B10),并显示该值以及单元格地址。
这段代码应该输出什么结果?
! Excel 电子表格显示示例数据(客户名称、订单日期、产品等),下方 C# 控制台窗口显示 IronXL 代码读取的单元格引用和值。 上一个代码示例的输出
以上示例演示了如何在 C# 中使用 IronXL 加载 Excel 文件及其输出结果。 它利用 Excel 表格,通过引用行和列索引来访问数据。
如何处理不同的 Excel 文件格式?
IronXL除了支持标准的 XLSX 文件格式外,还支持多种其他 Excel 文件格式。 您可以使用相同的 API读取 XLSX 文件、处理旧版 XLS 格式,甚至读取 CSV 文件。 以下是加载不同文件类型的示例:
// Load an XLSX file
WorkBook xlsxWorkbook = WorkBook.Load("data.xlsx");
// Load a CSV file
WorkBook csvWorkbook = WorkBook.LoadCSV("data.csv", delimiter: ",");
// Load an XLS file (older Excel format)
WorkBook xlsWorkbook = WorkBook.Load("legacy.xls");
// Load from a stream instead of a file path
using (FileStream stream = new FileStream("data.xlsx", FileMode.Open))
{
WorkBook streamWorkbook = WorkBook.Load(stream);
}
// Load an XLSX file
WorkBook xlsxWorkbook = WorkBook.Load("data.xlsx");
// Load a CSV file
WorkBook csvWorkbook = WorkBook.LoadCSV("data.csv", delimiter: ",");
// Load an XLS file (older Excel format)
WorkBook xlsWorkbook = WorkBook.Load("legacy.xls");
// Load from a stream instead of a file path
using (FileStream stream = new FileStream("data.xlsx", FileMode.Open))
{
WorkBook streamWorkbook = WorkBook.Load(stream);
}
' Load an XLSX file
Dim xlsxWorkbook As WorkBook = WorkBook.Load("data.xlsx")
' Load a CSV file
Dim csvWorkbook As WorkBook = WorkBook.LoadCSV("data.csv", delimiter:=",")
' Load an XLS file (older Excel format)
Dim xlsWorkbook As WorkBook = WorkBook.Load("legacy.xls")
' Load from a stream instead of a file path
Using stream As New FileStream("data.xlsx", FileMode.Open)
Dim streamWorkbook As WorkBook = WorkBook.Load(stream)
End Using
要了解有关使用IronXL进行编码的更多信息,请参考此示例。
加载Excel文件后,下一步该怎么做?
IronXL 是一款广受欢迎的 Excel 插件,无需任何额外的外部库即可运行。 它用途广泛,而且无需安装 Microsoft Excel。
IronXL 可以完全解决所有涉及 Microsoft Excel 文档的可编程任务。 您可以添加和删除数据、查找和替换、合并和取消合并数据表或单元格、对字符串或数字进行排序、可视化数据表以及保存文件。 IronXL也支持使用编辑公式功能进行公式计算。 您还可以设置单元格数据类型并使用它来检查电子表格数据。 IronXL具备读取和写入 CSV 文件的功能,这对于处理 Excel 数据至关重要。
探索高级功能
掌握了如何加载 Excel 文件后,不妨探索一下以下高级功能:
-数据处理:将 Excel 数据导入您的应用程序,以编程方式编辑 Excel 文件,并导出为各种格式。 -格式和样式:应用单元格字体和大小,设置边框和对齐方式,添加背景图案和颜色,并实现条件格式。 -处理复杂结构:创建和管理命名范围,处理命名表,对行/列进行分组和取消分组,以及处理冻结窗格。 -数据集成:在Excel 和 SQL 数据库之间进行转换,使用数据表,并将Excel 转换为 JSON/XML 。 -安全性和保护:使用密码加密工作簿,保护单个工作表,并管理工作簿元数据。 -视觉元素: 创建 Excel 图表、向单元格添加注释、插入超链接以及处理图像。
想自己试试吗?
IronXL 提供免费试用,用户可以选择升级到付费会员,享受 1 年的会员服务,以获得更新和客户支持。 IronXL 会额外收取安全费用,以确保产品能够不受限制地分发。 要了解定价的具体细节,请参阅此许可页面。
常见问题解答
如何在C#中不使用Interop加载Excel文件?
你可以通过利用IronXL库在C#中加载Excel文件而无需使用Interop。首先在你的项目中安装IronXL NuGet包,然后使用WorkBook.Load方法以编程方式加载你的Excel文件。
设置IronXL在Visual Studio项目中的步骤是什么?
要在Visual Studio项目中设置IronXL,创建一个新项目,通过NuGet包管理器安装IronXL NuGet包,然后你可以开始使用该库的API创建或加载Excel文件。
IronXL可以与.NET Core 6配合使用吗?
是的,IronXL与.NET Core 6完全兼容。你可以无缝地将其集成到你的.NET Core项目中管理Excel文件。
IronXL如何管理大型Excel数据集?
IronXL经过优化,能够高效处理大型数据集。其多线程能力允许快速处理大量数据而不影响性能。
是否可以使用IronXL读取和转换Excel文件?
是的,IronXL允许你从Excel文件中读取数据并将其转换为例如CSV等不同格式。这可以通过其C# API以编程方式完成。
IronXL支持哪些Excel文件格式?
IronXL支持多种Excel文件格式,包括XLSX、CSV、XLS、XLST、TSV和XLSM,使其可用于不同项目需求。
IronXL可以在不同的操作系统上使用吗?
是的,IronXL是跨平台的,可以在Windows、macOS和Linux上使用,允许开发人员在多样化的环境中使用该库。
如何使用IronXL处理Excel中的不同数据类型?
IronXL可以管理Excel列中的各种数据类型,如文本、数字、日期和公式,提供一个灵活的数据操作解决方案。
在C#中使用IronXL进行Excel操作有哪些优势?
IronXL提供多个优势,包括易用性、与多个平台的兼容性、对广泛的Excel格式的支持,以及不依赖于Microsoft Excel安装。
如何尝试IronXL进行Excel文件管理?
你可以使用一个免费试用版来尝试IronXL。要访问其他特性、更新和客户支持,建议升级到付费会员。


