使用IRONXL

如何在C#中将Excel转换为数据表

雷根·彭
雷根·彭
2023年五月23日
更新 2024年三月31日
分享:

本博客演示了如何实现 Excel 到DataTable的转换。 使用 IronXL 可以轻松完成这项任务,它提供了一种用 C# 读写 Excel 文件的简单而高效的方法

1.IronXL

IronXL.Excel 是一个功能强大、用户友好的 C# 库,旨在简化 Excel 工作表的读取、写入、导出数据和操作。 它为开发人员提供了一种无缝的方式来处理 Excel 电子表格并在其 C# 中自动执行任务

使用IronXL,您可以轻松导入导出以及修改Excel工作簿、工作表和单元格中的数据。 它同时支持较旧的 XLS 格式和较新的 XLSX 格式,因此兼容各种 Excel 版本。

该库提供了一个简单明了的API,使开发人员可以对Excel文件执行各种操作,例如创建新工作簿、读取和写入单元格数据、应用格式化、处理公式,甚至提取图表和图像。 IronXL 还支持处理复杂的数据结构,如表格、范围和命名范围。

2. 前提条件

要使用 IronXL.Excel in C# 处理 Excel 文件并将其转换为 DataTable,需要具备一些先决条件:

  1. 开发环境:确保您的计算机上设置了兼容的开发环境,例如 Visual Studio 或其他 C# IDE。

  2. IronXL 库:下载并安装 IronXL 库。 您可以从 IronXL 官方网站或通过 Visual Studio 中的 NuGet 包管理器获取该库。 在您的 C# 项目中包含 IronXL 命名空间,以访问其类和方法。

  3. .NET Framework或.NET Core:IronXL支持.NET Framework和.NET Core。 请确保您的计算机上安装了相应的版本,具体取决于您的项目要求。

3.在 C# 中创建新项目;

要在 Excel 相关任务中使用 IronXL 库,第一步是在 Visual Studio 中创建一个 .NET 项目。 虽然可以使用任何版本的 Visual Studio,但建议使用最新版本。

本教程将使用控制台应用程序项目模板来展示如何使用 IronXL。

如何在C#中将Excel转换为DataTable,图1:新项目

新项目

选择项目类型后,请为项目指定名称和位置。 此外,您还可以选择项目的首选框架,如 .NET Core 6。

如何在C#中将Excel转换为DataTable,图2:项目配置

项目配置

解决方案生成后,您可以访问 Program.cs 文件,在其中输入代码并创建/执行应用程序。

如何在 C# 中将 Excel 转换为 DataTable,图 3:Program.cs

Program.cs

4.安装 IronXL

IronXL 库可以通过不同方式下载和安装。 它们是

  • 使用 Visual Studio NuGet 软件包
  • 使用 Visual Studio 命令行

4.1 使用 Visual Studio NuGet 软件包

要在 Visual Studio 中使用 NuGet 包管理器安装 IronXL 库,请打开 NuGet 包管理器并在浏览选项卡中搜索 IronXL。

在搜索结果中找到 IronXL 后,请选择并继续安装。 安装完成后,您就可以在项目中使用 IronXL 库了。

下面的截图显示了如何在 Visual Studio 中打开 NuGet 包管理器。

如何在C#中将Excel转换为DataTable,图4:NuGet包管理器

NuGet 包管理器

搜索结果中的 IronXL:

如何在C#中将Excel转换为DataTable,图5:IronXL

IronXL

4.2 使用 Visual Studio 命令行

许多开发人员喜欢使用命令行界面安装软件包。 要使用命令行安装 IronXL,请按照以下步骤操作:

  • 在 Visual Studio 中转到工具 > NuGet 包管理器 > 包管理器控制台
  • 在“包管理器控制台”选项卡中输入以下行:
Install-Package IronXL.Excel

现在,软件包将下载/安装到当前项目中,即可使用。

如何在C#中将Excel转换为DataTable,图6:安装IronXL包

安装IronXL包

5.使用 IronXL.Excel 将 Excel 数据转换为 DataTable

使用 IronXL ,一个 Excel 库,可以轻松实现将 Excel 文件流中的 Excel 数据导出到 C# 中的 DataTable。 本节将讨论如何使用 IronXL 将 Excel 工作表数据转换为DataTable

首先,需要一个 Excel 文件以将其第一个工作表的数据转换为DataTable。 为此,应创建一个 Excel 示例文件。

如何在C#中将Excel转换为DataTable,图7:示例Excel

示例 Excel

现在让我们来看看代码示例。

using IronXL;
using System;
using System.Data;
//Workbook object
WorkBook workBook = WorkBook.Load("sample.xlsx");

WorkSheet workSheet = workBook.DefaultWorkSheet;
//var dt
DataTable dataTable = workSheet.ToDataTable(true);

foreach (DataRow row in dataTable.Rows)
{
    for (int i = 0; i < dataTable.Columns.Count; i++)
    {
        Console.Write(row [i]);
    }
    Console.WriteLine();
}
using IronXL;
using System;
using System.Data;
//Workbook object
WorkBook workBook = WorkBook.Load("sample.xlsx");

WorkSheet workSheet = workBook.DefaultWorkSheet;
//var dt
DataTable dataTable = workSheet.ToDataTable(true);

foreach (DataRow row in dataTable.Rows)
{
    for (int i = 0; i < dataTable.Columns.Count; i++)
    {
        Console.Write(row [i]);
    }
    Console.WriteLine();
}
Imports IronXL
Imports System
Imports System.Data
'Workbook object
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")

Private workSheet As WorkSheet = workBook.DefaultWorkSheet
'var dt
Private dataTable As DataTable = workSheet.ToDataTable(True)

For Each row As DataRow In dataTable.Rows
	For i As Integer = 0 To dataTable.Columns.Count - 1
		Console.Write(row (i))
	Next i
	Console.WriteLine()
Next row
$vbLabelText   $csharpLabel

在上述代码中,Excel 文件被加载为 WorkBook 对象,使用 IronXL 提供的 WorkBook.Load 方法,然后将其第一个工作表的数据保存为 WorkSheet。 要将此WorkSheet转换为DataTable,可以使用workSheet.ToDataTable方法调用WorkSheet变量,然后将数据导出到DataTable并存储到新的DataTable变量中。

最后,在控制台中打印DataTable数据以进行可视化。

如何在C#中将Excel转换为DataTable,图8:将数据导出到DataTable输出

导出数据到 DataTable 输出

6. 结论

C# 中 DataTable 的使用为在应用程序中处理 Excel 数据提供了强大而高效的解决方案。 通过利用 IronXL.Excel 等库,开发人员可以轻松地将 Excel 数据转换为 DataTable,并充分释放 C# 的潜力

本教程探讨了 IronXL 的功能及其与 C# 的无缝集成。 我们讨论了使用 Excel 文件的先决条件,如拥有兼容的开发环境、安装 IronXL 库、确保适当的 .NET Framework 或 .NET Core 版本。

我们还演示了在 Visual Studio 中创建一个新的 C# 项目,并通过 NuGet 包管理器或 Visual Studio 命令行安装 IronXL 的过程。成功将 IronXL 集成到项目中后,我们演示了如何使用库中易于使用的 API 将数据导出到 DataTable。

通过加载 Excel 文件、访问所需的工作表并使用 IronXL 提供的ToDataTable方法,我们能够提取数据并将其存储在 DataTable 中。 最后,我们展示了如何通过在控制台中打印 DataTable 的内容将其可视化。

使用IronXL和DataTable在C#中,开发人员可以构建强大的应用程序,与Excel数据无缝交互,从而实现高效的数据处理、分析和可视化。 通过本教程获得的知识,您现在可以自信地将 Excel 工作表纳入 C# 项目,并利用 DataTable 提供的广泛功能。 有关IronXL的更多教程,请访问教程页面。 如果您需要 Excel C# 的详细教程,请联系我们。

雷根·彭
软件工程师
Regan毕业于雷丁大学,拥有电子工程学士学位。在加入Iron Software之前,他的前工作职位要求他专注于单一任务;他在Iron Software最喜欢的是能进行多种工作,无论是增加销售价值、技术支持、产品开发还是营销。他喜欢了解开发人员如何使用Iron Software的库,并利用这些知识不断改进文档和开发产品。
< 前一页
如何在Blazor中导出到CSV
下一步 >
如何在.NET 6中导出文件到Excel