使用IRONXL

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

更新 2024年二月6日
分享:

IronXL 是一个功能丰富的应用程序接口,可提供各种功能来处理以下应用程序C# 中的 Excel 文件. 本教程将探讨如何使用 IronXL.Excel 在 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 文件。我们可以使用 WorkBooks 类打开现有的 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 提供了多种从 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.Excel 在 C# 中从 Excel 表中获取数据,以及加载 Excel 文件、检索所需工作表、从工作表中获取数据、提取数据和将数据导入数据库。 IronXL.Excel 提供了一个功能丰富的 API 来处理 Excel 文件,从而可以轻松地将 Excel 数据集成到 C# 应用程序中。 通过 IronXL.Excel,我们可以读写 Excel 文件,并以编程方式与其数据交互。 此外,我们还可以使用 IronXL.Excel 自动执行 Excel 任务,例如生成报告、创建图表格式化单元格.

关于 IronXL 的更多信息

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

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

使用 IronXL 的显著优势

  • 由 .NET 工程师提供专门支持,支持跨平台、Azure, AWS例如:.NET、Java、Python 或 Node.js。
  • 通过 Microsoft Visual Studio 进行简单安装
  • free trial for development, with licenses starting at $749
  • 轻松集成到 C# 或 VB.NET 项目中
< 前一页
如何将表格转换为Excel中的范围
下一步 >
如何在C#中创建CSV文件(分步)教程

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

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