跳至页脚内容
使用 IRONXL

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

IronXL是一个功能丰富的API,提供了使用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"并按回车。
  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
$vbLabelText   $csharpLabel

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

步骤2:加载Excel文件

第一步是加载文件。IronXL提供了WorkBook类来加载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")
$vbLabelText   $csharpLabel

此代码将指定的Excel文件加载到一个WorkBook对象中。

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

WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
$vbLabelText   $csharpLabel

此代码在指定的文件格式(此处为XLSX)中创建一个新的工作簿。

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

步骤3:检索Excel表

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

WorkSheet worksheet = workbook.WorkSheets["Sheet1"];
WorkSheet worksheet = workbook.WorkSheets["Sheet1"];
Dim worksheet As WorkSheet = workbook.WorkSheets("Sheet1")
$vbLabelText   $csharpLabel

此代码从工作簿中检索第一张工作表(工作表名为Sheet1)。 如果您希望按索引检索工作表,可以使用以下代码:

WorkSheet worksheet = workbook.WorkSheets[0];
WorkSheet worksheet = workbook.WorkSheets[0];
Dim worksheet As WorkSheet = workbook.WorkSheets(0)
$vbLabelText   $csharpLabel

此代码从工作簿中检索第一张工作表,假设它存在。

步骤4:从Excel表中检索数据

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

  • 索引运算符[]:检索单个单元格的值。
  • GetRow:检索单行数据。
  • GetColumn:检索单列数据。
  • GetRange:检索一组单元格。

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

object value = worksheet["A1"].Value;
object value = worksheet["A1"].Value;
Dim value As Object = worksheet("A1").Value
$vbLabelText   $csharpLabel

此代码检索工作表中单元格A1的值。

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

var dataRow = worksheet.GetRow(1);
var dataRow = worksheet.GetRow(1);
Dim dataRow = worksheet.GetRow(1)
$vbLabelText   $csharpLabel

此代码检索工作表中的第一行数据。

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

var dataColumn = worksheet.GetColumn(1);
var dataColumn = worksheet.GetColumn(1);
Dim dataColumn = worksheet.GetColumn(1)
$vbLabelText   $csharpLabel

此代码检索工作表中的第一列数据。

要检索一组单元格,请使用以下代码:

var cellRange = worksheet.GetRange("A1:B2");
var cellRange = worksheet.GetRange("A1:B2");
Dim cellRange = worksheet.GetRange("A1:B2")
$vbLabelText   $csharpLabel

此代码检索工作表中从A1到B2的单元格范围。

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

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

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

int value = worksheet["A1"].IntValue;
int value = worksheet["A1"].IntValue;
Dim value As Integer = worksheet("A1").IntValue
$vbLabelText   $csharpLabel

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

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
$vbLabelText   $csharpLabel

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

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

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
$vbLabelText   $csharpLabel

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

下一个示例演示如何提取一组单元格:

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
$vbLabelText   $csharpLabel

此代码提取从A1到B2的单元格范围,并遍历每个单元格中的值。

结论

本教程探索了如何使用IronXL在C#中从Excel表中获取数据,以及加载Excel文件、检索所需的工作表、从工作表中检索数据、提取数据和将数据导入数据库。 IronXL提供了一个功能丰富的API来处理Excel文件,使得将Excel数据集成到C#应用程序中变得容易。 使用IronXL,我们可以读取和写入Excel文件,并以编程方式与其数据进行交互。 此外,我们可以使用IronXL自动执行Excel任务,例如生成报告、创建图表格式化单元格

更多关于IronXL的信息

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

本教程只是IronXL可以做的基本探索。 IronXL提供了广泛的附加功能,如单元格式化数学函数条件格式化等。

使用IronXL的显著优势

  • 有.NET工程师的专用支持,跨平台支持,AzureAWS和Docker。
  • 简单安装通过Microsoft Visual Studio
  • 提供开发用的免费试用,许可证起价为$799
  • 易于集成到C#或VB.NET项目中

常见问题解答

如何在C#中将HTML转换为PDF?

你可以使用IronPDF的RenderHtmlAsPdf方法将HTML字符串转换为PDF。你还可以使用RenderHtmlFileAsPdf将HTML文件转换为PDF。

如何在C#中从Excel表中获取数据而不使用Interop?

您可以使用IronXL在C#中从Excel表中获取数据,通过WorkBook类加载Excel文件,并使用GetRow()GetColumn()GetRange()等方法访问数据。

在C#中使用IronXL操作Excel文件的前提条件是什么?

您需要Microsoft Visual Studio、C#编程的基本知识以及通过NuGet程序包管理器安装的IronXL库才能在C#中操作Excel文件。

如何在我的Visual Studio项目中安装IronXL?

要安装IronXL,打开Visual Studio,右键单击解决方案资源管理器中的项目,选择“管理NuGet程序包”,然后在“浏览”选项卡中搜索'IronXL'。单击“安装”将其添加到您的项目中。

如何使用IronXL加载Excel文件?

使用WorkBook类加载Excel文件。例如,WorkBook workbook = WorkBook.Load("path/to/excel/file.xlsx");

如何使用IronXL从工作簿中检索特定工作表?

您可以通过名称检索工作表:WorkSheet worksheet = workbook.WorkSheets["Sheet1"];或通过索引:WorkSheet worksheet = workbook.WorkSheets[0];

如何使用IronXL从单元格中提取数据?

使用单元格的索引来检索其值,例如,object value = worksheet["A1"].Value;并将其转换为适当的数据类型。

IronXL能否处理.XLS和.XLSX文件格式?

是的,IronXL可以加载和创建.XLS和.XLSX格式的Excel电子表格。

如何使用IronXL提取单元格范围?

要提取单元格范围,使用var cellRange = worksheet.GetRange("A1:B2");并遍历这些值。

使用IronXL有哪些优势?

IronXL提供.NET工程师的专门支持、跨平台支持,通过Visual Studio简单安装、免费试用以及与C#或VB.NET项目的轻松集成。

Curtis Chau
技术作家

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

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