IronXL 操作指南 Csharp导入excel 如何在 C# 中导入 Excel 文件 Curtis Chau 已更新:2026年1月10日 下载 IronXL NuGet 下载 DLL 下载 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 This article was translated from English: Does it need improvement? Translated View the article in English IronXL 使 C# 开发人员只需一行代码即可导入 Excel 数据,支持 XLSX、CSV 和其他格式,无需 Interop 依赖性,允许立即访问单元格、范围和工作表进行数据操作。 快速入门:立即加载您的 Excel 文件 只需使用 IronXL.Excel 的无超时 API 调用一个方法,您就可以在几秒钟内加载任何受支持的 Excel 表单(XLSX、CSV 等)--无需 Interop,无需大惊小怪。 立即开始与工作簿进行交互,根据需要访问单元格、区域或工作表。 立即开始使用 NuGet 创建 PDF 文件: 使用 NuGet 包管理器安装 IronXL PM > Install-Package IronXL.Excel 复制并运行这段代码。 WorkBook wb = IronXL.WorkBook.Load("path/to/data.xlsx"); 部署到您的生产环境中进行测试 立即开始在您的项目中使用 IronXL,免费试用! 免费试用30天 ## 导入 Excel 数据 C# 使用 IronXL 库导入数据 在 C# 中导入 Excel 数据 导入特定单元格区域的数据 导入包含聚合函数(例如 SUM、AVG、MIN、MAX 等)的 Excel 数据 ### 最小工作流程(5 个步骤) 下载并安装用于导入 Excel 文件的 C# 库 准备要导入的Excel文件 使用Load方法导入电子表格 使用直观的API编辑已加载的Excel文件 以各种类型导出已编辑的Excel文件 步骤1 安装 IronXL 库 IronXL.Excel 让 Excel 导入更轻松。 本教程将使用 IronXL Excel 库提供的函数导入数据。 该软件可免费用于开发。 IronXL.Excel 提供了全面的 C# Excel API,可简化 Excel 文件的处理,而无需 Microsoft Office 或 Interop 依赖性。 这使其成为服务器环境和云部署的理想选择。 安装方法 通过 DLL 下载或使用 NuGet 包导航将其安装到您的C# 项目中。 有关详细的安装指导,请查看我们的入门概述。 Install-Package IronXL.Excel 如何使用教程 在项目中获取工作表 基本工作簿加载流程 针对我们今天的项目需求,我们将使用步骤 1 中安装的 IronXL.Excel 软件将 Excel 数据导入 C# 应用程序。该库支持各种 Excel 格式,并为 加载电子表格提供了直观的方法。 第 2 步,我们将使用 IronXL.Excel 的 WorkBook.Load() 函数在 CSharp 项目中加载 Excel WorkBook。 我们将 Excel WorkBook 的路径作为字符串参数传递给该函数: // Load Excel file WorkBook wb = WorkBook.Load("Path"); // Load Excel file WorkBook wb = WorkBook.Load("Path"); ' Load Excel file Dim wb As WorkBook = WorkBook.Load("Path") $vbLabelText $csharpLabel 指定路径下的 Excel 文件将被加载到wb中。 此方法支持 XLSX、XLS、CSV、TSV 和其他常见电子表格格式。 获取特定工作表 接下来,我们需要访问 Excel 文件中的特定工作表,该文件中的数据将被导入到项目中。 为此,我们可以使用 IronXL 的GetWorkSheet()函数,将工作表名称作为字符串参数传递,以指定要导入 WorkBook 中的哪个工作表。 在我们的综合指南中了解有关管理工作表的更多信息。 // Specify sheet name of Excel WorkBook WorkSheet ws = wb.GetWorkSheet("SheetName"); // Specify sheet name of Excel WorkBook WorkSheet ws = wb.GetWorkSheet("SheetName"); ' Specify sheet name of Excel WorkBook Dim ws As WorkSheet = wb.GetWorkSheet("SheetName") $vbLabelText $csharpLabel WorkSheet 将以 ws 的形式导入,而 wb 则是我们在上述代码示例中定义的 WorkBook。 访问工作表的其他方法 将 Excel 工作表导入项目的其他方法如下。 每种方法都具有灵活性,具体取决于您的具体使用情况: // Import WorkSheet by various methods // by sheet indexing WorkSheet mySheet = wb.WorkSheets[SheetIndex]; // get default WorkSheet WorkSheet defaultSheet = wb.DefaultWorkSheet; // get first WorkSheet WorkSheet firstSheet = wb.WorkSheets.First(); // for the first or default sheet WorkSheet firstOrDefaultSheet = wb.WorkSheets.FirstOrDefault(); // Import WorkSheet by various methods // by sheet indexing WorkSheet mySheet = wb.WorkSheets[SheetIndex]; // get default WorkSheet WorkSheet defaultSheet = wb.DefaultWorkSheet; // get first WorkSheet WorkSheet firstSheet = wb.WorkSheets.First(); // for the first or default sheet WorkSheet firstOrDefaultSheet = wb.WorkSheets.FirstOrDefault(); ' Import WorkSheet by various methods ' by sheet indexing Dim mySheet As WorkSheet = wb.WorkSheets(SheetIndex) ' get default WorkSheet Dim defaultSheet As WorkSheet = wb.DefaultWorkSheet ' get first WorkSheet Dim firstSheet As WorkSheet = wb.WorkSheets.First() ' for the first or default sheet Dim firstOrDefaultSheet As WorkSheet = wb.WorkSheets.FirstOrDefault() $vbLabelText $csharpLabel 现在,我们可以轻松地从指定的 Excel 文件中导入任何类型的数据。 让我们探讨一下在项目中导入 Excel 文件数据的所有可能方面。 在 C# 中导入 Excel 数据 基本单元格导入方法 这是将 Excel 文件数据导入我们项目的基本步骤。 IronXL 提供了多种访问单元格数据的方式,使其能够灵活地适用于不同的场景。 为此,我们可以使用单元寻址系统来指定我们需要导入哪些单元数据。 它可以从 Excel 文件中返回特定单元格地址的值: var cellValue = ws["Cell Address"]; var cellValue = ws["Cell Address"]; Dim cellValue = ws("Cell Address") $vbLabelText $csharpLabel 使用行和列索引导入数据 我们还可以使用行索引和列索引从 Excel 文件导入单元格数据。 这行代码返回指定行和列索引的值。 这种方法在以编程方式迭代数据时特别有用: var cellValueByIndex = ws.Rows[RowIndex].Columns[ColumnIndex]; var cellValueByIndex = ws.Rows[RowIndex].Columns[ColumnIndex]; Dim cellValueByIndex = ws.Rows(RowIndex).Columns(ColumnIndex) $vbLabelText $csharpLabel 在变量中存储导入值 要将导入的单元格值分配给变量,请使用以下代码。 ToString() 方法确保了与字符串变量的兼容性,但您也可以根据需要将其转换为其他类型: // Import Data by Cell Address // by cell addressing string val = ws["Cell Address"].ToString(); // by row and column indexing string valWithIndexing = ws.Rows[RowIndex].Columns[ColumnIndex].Value.ToString(); // for numeric values decimal numericValue = ws["B2"].DecimalValue; // for date values DateTime dateValue = ws["C2"].DateTimeValue; // Import Data by Cell Address // by cell addressing string val = ws["Cell Address"].ToString(); // by row and column indexing string valWithIndexing = ws.Rows[RowIndex].Columns[ColumnIndex].Value.ToString(); // for numeric values decimal numericValue = ws["B2"].DecimalValue; // for date values DateTime dateValue = ws["C2"].DateTimeValue; ' Import Data by Cell Address ' by cell addressing Dim val As String = ws("Cell Address").ToString() ' by row and column indexing Dim valWithIndexing As String = ws.Rows(RowIndex).Columns(ColumnIndex).Value.ToString() ' for numeric values Dim numericValue As Decimal = ws("B2").DecimalValue ' for date values Dim dateValue As DateTime = ws("C2").DateTimeValue $vbLabelText $csharpLabel 在上述示例中,行和列的索引从 0 开始。有关更高级的单元格操作,请参阅我们的 清除单元格 和 复制单元格 指南。 从特定范围导入数据 范围函数语法 To import data in a specific range from an Excel WorkBook, use the range function. 通过描述起始和终止单元格地址来定义范围。 返回指定范围内的所有单元格值。 有关综合范围选择技巧,请参阅我们的选择范围指南。 var rangeData = ws["Starting Cell Address:Ending Cell Address"]; var rangeData = ws["Starting Cell Address:Ending Cell Address"]; Dim rangeData = ws("Starting Cell Address:Ending Cell Address") $vbLabelText $csharpLabel 完整范围导入示例 有关在 Excel 文件中使用范围的更多信息,以及有关使用不同方法提取数据的更多信息。 下面的示例演示了导入单个单元格值和单元格区域: :path=/static-assets/excel/content-code-examples/how-to/csharp-import-excel-import.cs using IronXL; using System; // Import Excel WorkBook WorkBook wb = WorkBook.Load("sample.xlsx"); // Specify WorkSheet WorkSheet ws = wb.GetWorkSheet("Sheet1"); // Import data of specific cell string val = ws["A4"].Value.ToString(); Console.WriteLine("Import Value of A4 Cell address: {0}", val); Console.WriteLine("import Values in Range From B3 To B9 :\n"); // Import data in specific range foreach (var item in ws["B3:B9"]) { Console.WriteLine(item.Value.ToString()); } Console.ReadKey(); Imports IronXL Imports System ' Import Excel WorkBook Dim wb As WorkBook = WorkBook.Load("sample.xlsx") ' Specify WorkSheet Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1") ' Import data of specific cell Dim val As String = ws("A4").Value.ToString() Console.WriteLine("Import Value of A4 Cell address: {0}", val) Console.WriteLine("import Values in Range From B3 To B9 :" & vbCrLf) ' Import data in specific range For Each item In ws("B3:B9") Console.WriteLine(item.Value.ToString()) Next Console.ReadKey() $vbLabelText $csharpLabel 上述代码显示以下输出: With the values of Excel file sample.xlsx as: 使用聚合函数导入 Excel 数据 可用的聚合函数 在 Excel 文件中应用聚合函数,并导入这些函数产生的数据。 IronXL 提供内置数学函数,使数据分析简单明了。 以下是不同功能及其用法的示例: Sum() // To find the sum of a specific cell range var sum = ws["Starting Cell Address:Ending Cell Address"].Sum(); // To find the sum of a specific cell range var sum = ws["Starting Cell Address:Ending Cell Address"].Sum(); ' To find the sum of a specific cell range Dim sum = ws("Starting Cell Address:Ending Cell Address").Sum() $vbLabelText $csharpLabel Average() // To find the average of a specific cell range var average = ws["Starting Cell Address:Ending Cell Address"].Avg(); // To find the average of a specific cell range var average = ws["Starting Cell Address:Ending Cell Address"].Avg(); ' To find the average of a specific cell range Dim average = ws("Starting Cell Address:Ending Cell Address").Avg() $vbLabelText $csharpLabel Min() // To find the minimum in a specific cell range var minimum = ws["Starting Cell Address:Ending Cell Address"].Min(); // To find the minimum in a specific cell range var minimum = ws["Starting Cell Address:Ending Cell Address"].Min(); ' To find the minimum in a specific cell range Dim minimum = ws("Starting Cell Address:Ending Cell Address").Min() $vbLabelText $csharpLabel Max() // To find the maximum in a specific cell range var maximum = ws["Starting Cell Address:Ending Cell Address"].Max(); // To find the maximum in a specific cell range var maximum = ws["Starting Cell Address:Ending Cell Address"].Max(); ' To find the maximum in a specific cell range Dim maximum = ws("Starting Cell Address:Ending Cell Address").Max() $vbLabelText $csharpLabel 同时使用多个聚合函数 阅读更多有关在 Excel for C# 中使用聚合函数的内容,了解更多有关以不同方法拉取数据的内容。 这些功能对于生成汇总统计数据或验证导入数据特别有用。 请参阅应用这些函数导入 Excel 文件数据的示例: :path=/static-assets/excel/content-code-examples/how-to/csharp-import-excel-math-functions.cs using IronXL; using System; // Import Excel file WorkBook wb = WorkBook.Load("sample.xlsx"); // Specify WorkSheet WorkSheet ws = wb.GetWorkSheet("Sheet1"); // Import Excel file data by applying aggregate functions decimal sum = ws["D2:D9"].Sum(); decimal avg = ws["D2:D9"].Avg(); decimal min = ws["D2:D9"].Min(); decimal max = ws["D2:D9"].Max(); Console.WriteLine("Sum From D2 To D9: {0}", sum); Console.WriteLine("Avg From D2 To D9: {0}", avg); Console.WriteLine("Min From D2 To D9: {0}", min); Console.WriteLine("Max From D2 To D9: {0}", max); Console.ReadKey(); Imports IronXL Imports System ' Import Excel file Dim wb As WorkBook = WorkBook.Load("sample.xlsx") ' Specify WorkSheet Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1") ' Import Excel file data by applying aggregate functions Dim sum As Decimal = ws("D2:D9").Sum() Dim avg As Decimal = ws("D2:D9").Avg() Dim min As Decimal = ws("D2:D9").Min() Dim max As Decimal = ws("D2:D9").Max() Console.WriteLine("Sum From D2 To D9: {0}", sum) Console.WriteLine("Avg From D2 To D9: {0}", avg) Console.WriteLine("Min From D2 To D9: {0}", min) Console.WriteLine("Max From D2 To D9: {0}", max) Console.ReadKey() $vbLabelText $csharpLabel 上述代码会输出以下结果: 我们的文件 sample.xlsx 包含这些值: 导入完整的 Excel 文件数据 ToDataSet 方法 要将完整的 Excel 文件数据导入 C# 项目,首先要将加载的 WorkBook 解析为 DataSet。 这样,完整的 Excel 数据就会导入数据集,Excel 文件中的工作表就会变成数据集中的数据表。 这种方法尤其适用于数据库操作或使用数据绑定控件时。 了解有关导入和导出 DataSet 的更多信息。 // Import WorkBook into DataSet DataSet ds = wb.ToDataSet(); // Import WorkBook into DataSet DataSet ds = wb.ToDataSet(); ' Import WorkBook into DataSet Dim ds As DataSet = wb.ToDataSet() $vbLabelText $csharpLabel 这将把我们指定的 WorkSheet 导入数据集,以便根据要求使用。 在同时处理多个工作表或将 Excel 数据与 ADO.NET 操作集成时,这种方法尤为强大。 处理列标题 Excel 文件的第一行通常用作列名。 在这种情况下,将第一行设为 DataTable 列名。 设置 IronXL 的 ToDataSet() 函数的布尔参数如下: // Import WorkBook into DataSet with first row as ColumnNames DataSet ds = wb.ToDataSet(true); // Import WorkBook into DataSet with first row as ColumnNames DataSet ds = wb.ToDataSet(true); ' Import WorkBook into DataSet with first row as ColumnNames Dim ds As DataSet = wb.ToDataSet(True) $vbLabelText $csharpLabel 这使得 Excel 文件的第一行成为 DataTable 列名,这对于在处理结构化 Excel 数据时保持数据结构的完整性至关重要。 完整的数据集导入示例 查看将 Excel 数据导入 DataSet 并将 Excel 工作表的第一行用作 DataTable 列名的完整示例: :path=/static-assets/excel/content-code-examples/how-to/csharp-import-excel-dataset.cs using IronXL; using System; using System.Data; WorkBook wb = WorkBook.Load("sample.xlsx"); WorkSheet ws = wb.GetWorkSheet("Sheet1"); // Import Excel data into a DataSet DataSet ds = wb.ToDataSet(true); Console.WriteLine("Excel file data imported to dataset successfully."); Console.ReadKey(); Imports IronXL Imports System Imports System.Data Dim wb As WorkBook = WorkBook.Load("sample.xlsx") Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1") ' Import Excel data into a DataSet Dim ds As DataSet = wb.ToDataSet(True) Console.WriteLine("Excel file data imported to dataset successfully.") Console.ReadKey() $vbLabelText $csharpLabel 使用 Excel Dataset 和 DataTable 函数可能比较复杂,但我们有更多可用示例,可将文件数据纳入您的 C# 项目。 对于高级应用场景,请参考我们的指南:通过 DataTable 将 Excel 转换为 SQL 以及从 SQL 数据库加载 Excel。 图书馆快速访问 ### 查阅 IronXL 参考资料 有关通过单元格、范围、数据集和数据表提取 Excel 数据的更多信息,请参阅我们的 IronXL.Excel API Reference 完整文档。 查阅 IronXL 参考资料 常见问题解答 如何在不使用 Microsoft Office 的情况下用 C# 导入 Excel 文件? 您可以使用 IronXL.Excel 在 C# 中导入 Excel 文件,它不需要 Microsoft Office 或 Interop 依赖性。只需使用带有文件路径的 WorkBook.Load() 方法,例如WorkBook wb = WorkBook.Load("path/to/data.xlsx").该方法适用于 XLSX、XLS、CSV、TSV 和其他格式。 使用此 C# 库可以导入哪些 Excel 文件格式? IronXL.Excel 支持导入各种 Excel 格式,包括 XLSX、XLS、CSV、TSV 和其他常见的电子表格格式。相同的 WorkBook.Load() 方法可自动处理所有这些格式。 是否可以在服务器或云环境中导入 Excel 数据? 是的,IronXL 是服务器环境和云部署的理想选择,因为它不需要 Microsoft Office 或 Interop 依赖性。这使得它非常适合网络应用程序、Azure 功能和其他服务器端应用场景。 导入 Excel 数据后如何快速开始工作? 利用 IronXL.Excel 的无超时 API,您只需一行代码就能在数秒内加载任何受支持的 Excel 表单。使用 WorkBook.Load() 后,您可以立即开始与单元格、范围或工作表进行交互。 能否从 Excel 文件导入特定的单元格区域? 是的,IronXL 允许您在加载工作簿后从特定单元格范围导入数据。您可以使用所提供的直观 API 访问单个单元格、单元格范围或整个工作表。 如何安装 C# 的 Excel 导入库? 您可以通过 NuGet 包管理器或直接下载 DLL 来安装 IronXL。该库可免费用于开发,并提供全面的入门文档。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 准备开始了吗? Nuget 下载 1,846,091 | 版本: 2026.2 刚刚发布 免费 NuGet 下载 总下载量:1,846,091 查看许可证