使用IRONXL

如何从Excel表中获取数据在C#中

更新 2024年二月6日
分享:

IronXL 是一个功能丰富的应用程序接口,可提供各种功能来处理以下应用程序 C# 中的 Excel 文件.本教程将探讨如何使用 IronXL 在 C# 中从 Excel 表中获取数据。

要学习本教程,您需要具备以下条件:

  • 计算机上安装了 Microsoft Visual Studio
  • C# 编程基础知识
  • 在项目中安装 IronXL 库

您可以从官方网站或通过 Visual Studio 中的 NuGet 包管理器下载 IronXL。

在 Visual Studio 中安装 IronXL

要在 C# 项目中安装 IronXL,请按照以下步骤操作:

1.打开 Microsoft Visual Studio。

2.创建新项目或打开现有项目。

3.在 "解决方案资源管理器 "中右键单击项目,选择 "管理 NuGet 包"。

4.在 "NuGet 包管理器 "窗口中,选择 "浏览 "选项卡。

5.在搜索框中输入 "IronXL",然后按 Enter 键。

6.选择 "IronXL.Excel "并点击 "安装 "按钮。

7.单击 "我接受 "按钮接受许可协议。

8.等待安装完成。

如何用 C# 从 Excel 表中获取数据,图 1:在 Visual Studio 项目中安装 IronXL 库

在 Visual Studio 项目中安装 IronXL 库

完成这些步骤后,IronXL 就已安装完毕,可以在 C# 项目中使用了。

第 1 步:导入所需库函数

添加以下示例代码,导入 IronXL 库和其他必要的库。

using IronXL;
using System;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;
using IronXL;
using System;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;
Imports IronXL
Imports System
Imports System.Data
Imports System.Data.OleDb
Imports System.Windows.Forms
VB   C#

使用 IronXL 命名空间提供了使用 IronXL 库处理 Excel 文件所需的所有类和函数。

第 2 步:加载 Excel 文件

第一步是加载文件。IronXL 提供了一个 工作簿 类加载 Excel 文件。我们可以使用 "WorkBook "类打开现有的 Excel 文件或创建新的工作簿。

要加载现有的 Excel 文件,请使用以下代码:

WorkBook workbook = WorkBook.Load("path/to/excel/file.xlsx");
WorkBook workbook = WorkBook.Load("path/to/excel/file.xlsx");
Dim workbook As WorkBook = WorkBook.Load("path/to/excel/file.xlsx")
VB   C#

这段代码会将指定的 Excel 文件加载到WorkBook对象中。

要创建一个新的 WorkBook ,请使用以下示例代码:

WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
VB   C#

该代码以指定的文件格式创建新工作簿 (这里,XLSX).

如何用 C# 从 Excel 表中获取数据,图 3:IronXL 可以加载和创建 .XLS 和 .XLSX 文件格式的 Excel 电子表格

IronXL 可以加载和创建 .XLS 和 .XLSX 文件格式的 Excel 电子表格

第 3 步:检索 Excel 表

加载 Excel 文件后,有必要指明从中获取数据的 Excel 表。一个 WorkBook 可以包含多个 WorkSheet 对象。每个 工作表 需要在访问数据前指定工作表的名称。

WorkSheet worksheet = workbook.WorkSheets ["Sheet1"];
WorkSheet worksheet = workbook.WorkSheets ["Sheet1"];
Dim worksheet As WorkSheet = workbook.WorkSheets ("Sheet1")
VB   C#

这段代码将检索第一个工作表 (工作表名称为 Sheet1) 工作表。如果要按索引检索工作表,可以使用以下代码:

WorkSheet worksheet = workbook.WorkSheets [0];
WorkSheet worksheet = workbook.WorkSheets [0];
Dim worksheet As WorkSheet = workbook.WorkSheets (0)
VB   C#

这段代码将检索工作簿中的第一个工作表(假设它存在)。

第 4 步:从 Excel 表中获取数据

从检索到的 Excel 表中获取数据成为可能。IronXL 提供了多种从 Excel 表中检索数据的方法。以下是一些最常用的方法:

要检索单个单元格的值,请使用以下代码:

object value = worksheet ["A1"].Value;
object value = worksheet ["A1"].Value;
Dim value As Object = worksheet ("A1").Value
VB   C#

这段代码将检索工作表中 A1 单元格的值。

要检索单行数据,请使用以下代码:

var dataRow = worksheet.GetRow(1);
var dataRow = worksheet.GetRow(1);
Dim dataRow = worksheet.GetRow(1)
VB   C#

这段代码将检索工作表中的第一行数据。

要检索单列数据,请使用以下代码:

var dataColumn = worksheet.GetColumn(1);
var dataColumn = worksheet.GetColumn(1);
Dim dataColumn = worksheet.GetColumn(1)
VB   C#

这段代码将检索工作表中的第一列数据。

要检索单元格区域,请使用以下代码:

var cellRange = worksheet.GetRange("A1:B2");
var cellRange = worksheet.GetRange("A1:B2");
Dim cellRange = worksheet.GetRange("A1:B2")
VB   C#

这段代码将检索工作表中从 A1 到 B2 的单元格区域。

第 5 步:从 Excel 表中提取数据

要从获取的数据中提取单个值,需要将其转换为适当的数据类型。

以下代码显示了如何从单元格 A1 中提取整数值:

int value = worksheet ["A1"].IntValue;
int value = worksheet ["A1"].IntValue;
Dim value As Integer = worksheet ("A1").IntValue
VB   C#

以下代码可用于提取一行数据:

var dataRow = worksheet.GetRow(1);
var values = dataRow.Values;

foreach (var value in values)
{
    int intValue = (int)value;
    // Do something with the extracted value
}
var dataRow = worksheet.GetRow(1);
var values = dataRow.Values;

foreach (var value in values)
{
    int intValue = (int)value;
    // Do something with the extracted value
}
Dim dataRow = worksheet.GetRow(1)
Dim values = dataRow.Values

For Each value In values
	Dim intValue As Integer = CInt(value)
	' Do something with the extracted value
Next value
VB   C#

该代码提取第一行数据,并遍历该行中的值,将每个值转换为整数。

接下来,以下代码展示了如何提取一列数据:

var dataColumn = worksheet.GetColumn(1);
var values = dataColumn.Values;

foreach (var value in values)
{
    string strValue = (string)value;
    // Do something with the extracted value
}
var dataColumn = worksheet.GetColumn(1);
var values = dataColumn.Values;

foreach (var value in values)
{
    string strValue = (string)value;
    // Do something with the extracted value
}
Dim dataColumn = worksheet.GetColumn(1)
Dim values = dataColumn.Values

For Each value In values
	Dim strValue As String = CStr(value)
	' Do something with the extracted value
Next value
VB   C#

这段代码提取第一列数据,并遍历列中的值,将每个值转换为字符串。

下一个示例演示了如何提取单元格区域:

var cellRange = worksheet.GetRange("A1:B2");
var values = cellRange.Values;

foreach (var row in values)
{
    foreach (var value in row)
    {
        // Do something with the extracted value
    }
}
var cellRange = worksheet.GetRange("A1:B2");
var values = cellRange.Values;

foreach (var row in values)
{
    foreach (var value in row)
    {
        // Do something with the extracted value
    }
}
Dim cellRange = worksheet.GetRange("A1:B2")
Dim values = cellRange.Values

For Each row In values
	For Each value In row
		' Do something with the extracted value
	Next value
Next row
VB   C#

这段代码提取 A1 至 B2 的单元格范围,并遍历每个单元格中的值。

结论

本教程探讨了如何使用 IronXL 在 C# 中从 Excel 表中获取数据,以及如何加载 Excel 文件、获取所需工作表、从工作表中获取数据、提取数据和将数据导入数据库。IronXL 提供了功能丰富的应用程序接口(API)来处理 Excel 文件,从而轻松地将 Excel 数据集成到 C# 应用程序中。有了 IronXL,我们可以读写 Excel 文件,并以编程方式与其数据交互。此外,我们还可以使用 IronXL 自动执行 Excel 任务,如生成报告、 创建图表格式化单元格.

关于 IronXL 的更多信息

IronXL 是一个用户友好且方便的库,用于读写 Excel 和 CSV 文件,功能小巧且易于记忆。

本教程只触及了以下内容的表面 IronXL 的功能。IronXL 还提供多种附加功能,例如 单元格格式化, 数学功能条件格式 仅举几例。

使用 IronXL 的显著优势

  • 由 .NET 工程师提供专门支持,支持跨平台、 Azure, AWS, and Docker.
  • Simple installation via Microsoft Visual Studio
  • free trial for development, with licenses starting at $749
  • Easy integration into C# or VB.NET projects
< 前一页
如何将表格转换为Excel中的范围
下一步 >
如何在C#中创建CSV文件(分步)教程

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

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