跳至页脚内容
使用 IRONXL

如何在 C# 中加载 Excel 文件

要在 C# 中加载 Excel 文件,可以使用 IronXL 库的WorkBook () 方法,该方法接受文件路径、流或字节数组,然后以编程方式访问工作表并读取单元格值,而无需安装 Microsoft Office。

本文将演示如何使用 IronXL(一个全面的 Excel C# 库)高效且以编程方式加载 Excel 文件。 无论您是构建读取 Excel 文件的 ASP.NET MVC 应用程序,还是创建Windows Forms Excel 读取器,IronXL 都能提供简单而强大的解决方案。

如何加载 Excel 文件

  1. 打开 Visual Studio 并创建一个新的 Visual Studio 项目。
  2. 下载 IronXL NuGet 包库。
  3. 创建 XLSX 文件或 CSV 文件格式的 Excel 工作簿。
  4. 现在使用 IronXL 库加载 Excel 文件。
  5. 使用单元格区域处理 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 库?

凭借这些特性,IronXL 成为一个灵活而强大的 Excel 文件处理库,为开发人员在以编程方式管理与 Excel 文档相关的任务时提供了更大的便利性和灵活性。 该库提供全面的API 参考文档和丰富的教程,帮助开发者快速入门。 要了解有关 IronXL 库的更多信息,请参阅这些文档

如何设置用于 Excel 文件操作的 .NET 项目?

如您将在后续章节中看到的那样,IronXL 库可以轻松写入数据并创建和读取 Excel 文件。 开始之前,如果您使用的是完整版,请确保已正确配置许可证密钥;或者,您可以先从免费试用版开始。 对于 Web 应用程序,您可能需要在 web.config 文件中设置许可证密钥

首先,我们来创建一个新的Excel文件处理项目:

如何在 Visual Studio 中创建新项目?

Visual Studio 启动后,从"文件"菜单中选择"新建项目"。

.NET"控制台应用程序"项目模板将显示在随后的对话框中; 选中它们,然后双击"下一步"。

Visual Studio"添加新项目"对话框显示各种 C# 项目模板,包括控制台应用程序、ASP.NET Core Web 应用程序、Blazer 服务器应用程序和 ASP.NET Core Web API。 新项目

我应该配置哪些项目设置?

在"位置"区域输入新项目的位置后,您可以为"项目"输入您想要的任何项目名称。 对于本教程,可以考虑使用一些描述性的名称,例如" ExcelReaderApp "或"IronXLDemo"。 按"下一步"按钮继续。

Visual Studio 新建项目配置对话框显示创建 C# 控制台应用程序的选项,其中项目名称"ExcelReaderApp"和典型项目位置路径字段为空。 项目配置

我应该选择哪个.NET Framework版本?

通过"框架"下拉菜单,您可以选择 .NET Framework。 这里使用的是长期支持版本的 .NET 6.0。 IronXL 支持多个 .NET 版本,您可以根据项目需求进行选择。 点击"创建"后,再点击"创建"。

Visual Studio 项目配置屏幕显示控制台应用程序设置,其中 .NET 6.0 被突出显示为选定的框架。 不使用顶级语句复选框清晰可见且未选中。 目标框架选择

如何安装 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);
}
$vbLabelText   $csharpLabel

代码的每个部分是做什么的? 第一行代码`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。要访问其他特性、更新和客户支持,建议升级到付费会员。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。