如何在 C# 中加载 Excel 文件
要在 C# 中加载 Excel 文件,可以使用 IronXL 库的WorkBook () 方法,该方法接受文件路径、流或字节数组,然后以编程方式访问工作表并读取单元格值,而无需安装 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 完全支持 Core .NET 应用程序、 Linux 环境、 macOS 系统、Azure 和 Xamarin。 该库还可以与Blazor 应用程序无缝集成,用于读取 Excel 文件和.NET MAUI 项目。 以下是 IronXL 的主要功能列表,这些功能使其与其他读取 Excel 文件的应用程序区别开来。
IronXL有哪些关键特性使其脱颖而出?
IronXL 是一个功能强大的 C# Excel 电子表格库; 它同时适用于 .NET Core 和 .NET Framework,是Excel Interop 的绝佳替代方案。 IronXL 支持 Web 应用程序、Windows 窗体、控制台以及几乎所有其他 .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);
}代码的每个部分是做什么的? 第一行代码`using IronXL;`是调用该库来实现此演示项目,从而使 IronXL 功能可用。 然后使用[`WorkBook`](https://ironsoftware.com/csharp/excel/object-reference/api/IronXL.WorkBook.html)对象中提供的[`Load`](https://ironsoftware.com/csharp/excel/object-reference/api/IronXL.WorkBook.html#IronXL_WorkBook_Load)方法加载名为"Demo.xlsx"的现有 Excel 文件。 `Load`方法接受三种类型的输入:带路径的文件名、流和字节数组。 在上面的例子中,使用文件名和路径的方法来加载文件。 ### 如何访问特定的工作表和单元格区域? 要执行读取 Excel 文件操作,我们使用`First()`方法从工作簿的工作表集合中选择初始工作表来获取默认[`WorkSheet`](https://ironsoftware.com/csharp/excel/object-reference/api/IronXL.WorkSheet.html) 。 您还可以通过名称或索引访问[工作表来管理](https://ironsoftware.com/csharp/excel/how-to/manage-worksheet/)它们。 然后,通过指定单元格区域,使用工作表对象选择 Excel 工作表区域。 [选择范围功能](https://ironsoftware.com/csharp/excel/how-to/select-range/)允许您处理特定单元格、整行或整列。 然后,它将遍历指定范围( `A2:B10` )内的每个单元格值,并显示该值以及单元格地址。 ### 这段代码应该输出什么结果? ! [Excel 电子表格显示示例数据(客户名称、订单日期、产品等),下方 C# 控制台窗口显示 IronXL 代码读取的单元格引用和值。](/static-assets/excel/blog/csharp-load-excel-file-tutorial/csharp-load-excel-file-tutorial-6.webp) **上一个代码示例的输出** 以上示例演示了如何在 C# 中使用 IronXL 加载 Excel 文件及其输出结果。 它利用 Excel 表格,通过引用行和列索引来访问数据。 ### 如何处理不同的Excel文件格式? IronXL 除了支持标准的 XLSX 文件格式外,还支持多种其他 Excel 文件格式。 您可以使用相同的 API[读取 XLSX 文件](https://ironsoftware.com/csharp/excel/how-to/c-sharp-read-xlsx-file/)、处理旧版 XLS 格式,甚至[读取 CSV 文件](https://ironsoftware.com/csharp/excel/how-to/csharp-read-csv-file/)。 以下是加载不同文件类型的示例: ```csharp // 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); } ``` 要了解有关使用 IronXL 进行编码的更多信息,请参考此[示例](https://ironsoftware.com/csharp/excel/examples/read-excel/)。 ## 加载Excel文件后,下一步该怎么做? IronXL 是一款广受欢迎的 Excel 插件,无需任何额外的外部库即可运行。 它用途广泛,而且无需安装 Microsoft Excel。 IronXL 可以完全解决所有涉及 Microsoft Excel 文档的可编程任务。 您可以添加和删除数据、查找和替换、[合并和取消合并数据表或单元格](https://ironsoftware.com/csharp/excel/how-to/csharp-excel-merge-cells/)、[对字符串或数字进行排序](https://ironsoftware.com/csharp/excel/examples/sort-excel-range-csharp/)、[可视化数据表](https://ironsoftware.com/csharp/excel/how-to/csharp-excel-chart-create-edit-tutorial/)以及保存文件。 IronXL 也支持使用[编辑公式功能](https://ironsoftware.com/csharp/excel/how-to/edit-formulas/)进行公式计算。 您还可以设置单元格数据类型并使用它来检查电子表格数据。 IronXL 具备读取和[写入 CSV 文件的](https://ironsoftware.com/csharp/excel/how-to/csharp-write-to-csv-file/)功能,这对于处理 Excel 数据至关重要。 ### 探索高级功能 掌握了如何加载 Excel 文件后,不妨探索一下以下高级功能: -**数据处理**:[将 Excel 数据](https://ironsoftware.com/csharp/excel/how-to/csharp-import-excel/)导入您的应用程序,[以编程方式编辑 Excel 文件](https://ironsoftware.com/csharp/excel/how-to/csharp-edit-excel-file/),并[导出为各种格式](https://ironsoftware.com/csharp/excel/how-to/c-sharp-export-to-excel/)。 -**格式和样式**:应用[单元格字体和大小](https://ironsoftware.com/csharp/excel/how-to/cell-font-size/),设置[边框和对齐方式](https://ironsoftware.com/csharp/excel/how-to/border-alignment/),添加[背景图案和颜色](https://ironsoftware.com/csharp/excel/how-to/background-pattern-color/),并实现[条件格式](https://ironsoftware.com/csharp/excel/how-to/conditional-formatting/)。 -**处理复杂结构**:创建和管理[命名范围](https://ironsoftware.com/csharp/excel/how-to/named-range/),处理[命名表](https://ironsoftware.com/csharp/excel/how-to/named-table/),对[行/列进行分组和取消分组](https://ironsoftware.com/csharp/excel/how-to/group-and-ungroup-rows-columns/),以及处理[冻结窗格](https://ironsoftware.com/csharp/excel/how-to/add-freeze-panes/)。 -**数据集成**:在[Excel 和 SQL 数据库](https://ironsoftware.com/csharp/excel/examples/excel-sql-dataset/)之间进行转换,使用[数据表](https://ironsoftware.com/csharp/excel/examples/excel-sql-datatable/),并将[Excel 转换为 JSON/XML](https://ironsoftware.com/csharp/excel/how-to/csharp-convert-xlsx-to-csv/) 。 -**安全性和保护**:[使用密码加密工作簿](https://ironsoftware.com/csharp/excel/how-to/set-password-workbook/),[保护单个工作表](https://ironsoftware.com/csharp/excel/how-to/set-password-worksheet/),并管理[工作簿元数据](https://ironsoftware.com/csharp/excel/how-to/edit-workbook-metadata/)。 -**视觉元素**: [创建 Excel 图表](https://ironsoftware.com/csharp/excel/how-to/csharp-create-excel-chart-programmatically/)、[向单元格添加注释](https://ironsoftware.com/csharp/excel/how-to/add-comment/)、[插入超链接](https://ironsoftware.com/csharp/excel/how-to/hyperlinks/)以及[处理图像](https://ironsoftware.com/csharp/excel/how-to/add-extract-remove-worksheet-images/)。 ### 想自己试试吗? IronXL 提供免费试用,用户可以选择升级到付费会员,享受 1 年的会员服务,以获得更新和客户支持。 IronXL 会额外收取安全费用,以确保产品能够不受限制地分发。 要了解定价的具体细节,请参阅此[许可页面](https://ironsoftware.com/csharp/excel/licensing/)。
常见问题解答
如何在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。要访问其他特性、更新和客户支持,建议升级到付费会员。






