
如何在 C# 中将 Excel 转换为 DataTable
此博客演示如何实现Excel到DataTable的转换。 使用IronXL可以轻松完成此任务,它提供了一种简单而高效的方式来读取和写入C#中的Excel文件。
1. IronXL
IronXL是一个强大且用户友好的C#库,旨在简化对Excel工作表的读取、写入、导出数据和操作。 它为开发人员提供了一种无缝的方式来处理Excel电子表格并在他们的C#项目中自动化任务。
利用IronXL,您可以轻松地导入、导出和修改Excel工作簿、工作表和单元格中的数据。 它支持较旧的XLS格式和较新的XLSX格式,使其兼容多种Excel版本。
该库提供了一个简单的API,使开发人员能够对Excel文件执行各种操作,例如创建新工作簿、读取和写入单元格数据、应用格式化、处理公式,甚至提取图表和图像。 IronXL也支持表格、范围和命名范围等复杂数据结构的处理。
2. 先决条件
要使用C#中的IronXL处理Excel文件并将其转换为DataTable,需要具备以下几个先决条件:
- **开发环境:**确保您在机器上设置了兼容的开发环境,例如Visual Studio或其他C# IDE。
- **IronXL库:**下载并安装IronXL库。 您可以从官方的IronXL网站或通过Visual Studio中的NuGet包管理器获取该库。 在您的C#项目中包含IronXL命名空间以访问其类和方法。
- **.NET Framework或.NET Core:**IronXL支持.NET Framework和.NET Core。 根据项目要求,确保在您的机器上安装了适当的版本。
3.在C#中创建新项目
要使用IronXL库进行与Excel相关的任务,第一步是在Visual Studio中创建一个.NET项目。 虽然可以使用任何版本的Visual Studio,但建议使用最新版本。
本教程将使用控制台应用项目模板来展示如何使用IronXL工作。
新项目
一旦选择了项目类型,继续指定项目的名称和位置。 此外,您可以选择项目的首选框架,例如.NET Core 6。
项目配置
解决方案生成后,您可以访问Program.cs文件,您可以在其中输入代码并创建/执行应用程序。
Program.cs
4. 安装 IronXL
可以通过不同方式下载和安装IronXL库。 这些是:
- 使用Visual Studio NuGet Packages
- 使用Visual Studio命令行
4.1 使用Visual Studio NuGet Packages
要在Visual Studio中使用NuGet包管理器安装IronXL库,打开NuGet包管理器并在"浏览"选项卡中搜索IronXL。
找到 IronXL 后,选择它并继续安装。 安装完成后,您可以在项目中使用IronXL库。
下面的屏幕截图显示了如何在Visual Studio中打开NuGet包管理器。
NuGet 软件包管理器
IronXL在搜索结果中:
IronXL
4.2 使用 Visual Studio 命令行
许多开发者更喜欢使用命令行界面安装软件包。 要使用命令行安装 IronXL,请按照以下步骤操作:
- 转到工具 > NuGet包管理器 > 包管理器控制台 在Visual Studio中。
- 在包管理器控制台选项卡中输入以下行:
现在包将下载并安装到当前项目,并准备使用。
安装 IronXL 软件包
5. 使用IronXL将Excel数据转换为DataTable
使用IronXL可以轻松实现从Excel文件流中导出Excel数据到C#中的DataTable。 本节将讨论如何使用IronXL将Excel工作表数据转换为DataTable。
首先,需要一个示例Excel文件,其中包含您希望转换为DataTable的数据。 为了演示,应该创建一个简单的Excel文件。
示例Excel
现在让我们来看一下代码示例:
using IronXL;
using System;
using System.Data;
class Program
{
static void Main()
{
// Load the Excel workbook from a file
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Access the default worksheet in the workbook
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Convert the worksheet data to a DataTable
// Set the parameter to true to consider the first row as column headers
DataTable dataTable = workSheet.ToDataTable(true);
// Iterate over each row in the DataTable
foreach (DataRow row in dataTable.Rows)
{
// Print each column in the row
for (int i = 0; i < dataTable.Columns.Count; i++)
{
Console.Write($"{row[i]} \t");
}
Console.WriteLine(); // Move to the next line after printing each row
}
}
}Imports IronXL
Imports System
Imports System.Data
Module Program
Sub Main()
' Load the Excel workbook from a file
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Access the default worksheet in the workbook
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet
' Convert the worksheet data to a DataTable
' Set the parameter to true to consider the first row as column headers
Dim dataTable As DataTable = workSheet.ToDataTable(True)
' Iterate over each row in the DataTable
For Each row As DataRow In dataTable.Rows
' Print each column in the row
For i As Integer = 0 To dataTable.Columns.Count - 1
Console.Write($"{row(i)}" & vbTab)
Next
Console.WriteLine() ' Move to the next line after printing each row
Next
End Sub
End Module在上述代码中,使用IronXL提供的WorkBook方法将Excel文件作为WorkBook.Load对象加载,然后访问其第一个工作表数据为WorkSheet。 要将此DataTable变量中。
最后,DataTable数据被打印到控制台以便可视化。
导出数据到DataTable输出
6.结论
在C#中使用DataTable为在应用程序中处理Excel数据提供了一种强大而高效的解决方案。 通过利用诸如IronXL之类的库,开发人员可以轻松地将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教程,请访问教程页面。

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



