IRONSOFTWAREHOME
USING IRONXL

C# 最快的方法将 DataTable 导出到 Excel

Curtis Chau
Curtis Chau
Updated: 2026年7月19日

在使用电子表格时,Microsoft Excel 应用程序是一款流行的电子表格工具,旨在以表格格式管理大型数据集。 它提供了强大的功能,例如复杂的计算、通过图表和图形进行数据可视化、数据透视表,以及通过 Visual Basic for Applications (VBA) 实现自动化。 凭借其强大的数据分析和可视化工具,Excel 已成为各行各业的首选工具。 使用 Excel,您可以轻松创建、编辑、查看和共享文件,从而简化您的数据管理任务。

在 C# 中,ADO.NET 库中的 DataTable 对象表示程序中的表格数据,很像 Excel 工作表。 它将数据整理成行和列,便于操作和导出。 与 Excel 一样,DataTable 支持筛选、排序和格式化选项,使其成为 C# 中管理数据范围的首选工具。 但是,DataTable 是在运行时创建的,除非导出为更永久的格式(例如 Excel 文件或 CSV 文件),否则在关闭应用程序时其数据将会丢失。

今天,我们将探讨如何在 C# 中创建 DataTable,并使用功能强大的 .NET Excel 库 IronXL 将其数据导出到 Excel 文档。

IronXL:一个 .NET Excel 库

IronXL是一个 C# .NET 库,它简化了创建 Excel 文件的过程。 使用 IronXL,您可以创建新的电子表格、编辑现有的电子表格、使用 Excel 公式、设置电子表格单元格的样式等等。 IronXL 功能丰富,让以编程方式处理 Excel 文件变得轻而易举,而且最重要的是,它无需 Microsoft Office Interop 即可运行。这意味着无需安装 Microsoft Office 或任何其他特殊依赖项。

using IronXL,您可以将数据保存或导出为不同的格式,例如 XLS 和 XLSX、CSV 数据和 TSV、JSON、XML 和 HTML、二进制和字节数组。 它还具有强大的工作簿安全功能,例如添加权限和密码,并允许您编辑工作簿元数据。

将数据表数据导出到 Excel 文件的步骤

前提条件

要在 C# 中使用 IronXL 将数据从 DataTable 导出到 Excel 文件,我们需要在本地计算机上安装以下组件。 让我们逐一查看。

  1. Visual Studio - Visual Studio 是 C# 编程的 IDE,必须安装。 您可以从Visual Studio 网站下载并安装最新版本。

    • 设置好 IDE 后,需要创建一个控制台应用程序/Windows 窗体,以便将数据表导出到 Excel。 以下截图展示了如何创建项目。

创建项目

现在,请选择您的项目类型。 在我们的示例中,我们将创建一个控制台应用程序。

控制台应用

给项目命名并选择保存位置。

命名项目

最后,选择您的 .NET Framework,然后单击"创建"。

.NET Framework

在最后一个屏幕截图中点击"创建"后,将创建名为**"DemoApp"**的项目。

  1. IronXL 库- 必须下载 IronXL 库并将其安装到 Visual Studio 项目中。 有很多方法可以做到这一点。

    *使用 Visual Studio - 它提供了 NuGet 包管理器来安装 IronXL。 您可以通过"工具"菜单或"解决方案资源管理器"访问它。 以下截图有助于安装 IronXL。 首先,导航到顶部栏中的"工具",或者在解决方案资源管理器中单击鼠标右键。

解决方案资源管理器

工具 - NuGet 包管理器

转到"管理解决方案的 NuGet 程序包",然后搜索 IronXL。 然后,您只需按下"安装"按钮,IronXL 库就会添加到您的项目中。

浏览IronXL

*开发人员命令提示符- 从 Visual Studio 工具菜单或 Visual Studio 文件夹打开开发人员命令提示符。 输入以下命令,即可在您的项目中下载并安装 IronXL:

PM > Install-Package IronXL.Excel
SHELL

*直接从 NuGet 包管理器获取 - 访问此 URLhttps://www.nuget.org/packages/IronXL.Excel/下载 IronXL。

3.添加必要的命名空间- 要创建 DataTable 并使用 IronXL,两者都应该在 Program.cs 文件的顶部引用。

using IronXL; // Add reference to the IronXL library
using System.Data; // Add reference to System.Data for DataTable

所有先决条件满足后,就可以将数据从数据表导出到 Excel 表格了。

Create a DataTable in C#

以下代码创建一个包含两个列标题和多行的新数据表:

// Create a new DataTable object
DataTable dt = new DataTable();
// Add column names to the DataTable
dt.Columns.Add("Animal");
dt.Columns.Add("Sound");
// Add rows representing different animals and their sounds
dt.Rows.Add("Lion", "Roars");
dt.Rows.Add("Dog", "Barks");
dt.Rows.Add("Cat", "Meows");
dt.Rows.Add("Goat", "Bleats");
dt.Rows.Add("Wolf", "Howls");
dt.Rows.Add("Cheetah", "Purrs");

首先,我们创建一个名为"dt"的新数据表。 然后,使用Columns.Add ,我们可以按名称向数据表中添加指定数量的列; 在我们的示例中,我们有两列,分别名为"动物"和"声音"。 然后我们使用Rows.Add添加新行,并将每一行的内容放在括号内。 内容以逗号分隔,每列分隔一个字符串。

Create Excel File using IronXL in C#

using IronXL 从头开始创建 Excel 文件类型时,这是一个两步过程,在 C# 中实现起来非常容易。 IronXL 首先创建一个 Excel 工作簿,然后帮助向其中添加工作表。 以下示例代码演示了如何创建包含工作表的工作簿:

// Create a new workbook in XLSX format
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
// Reference to the default worksheet in the workbook
WorkSheet ws = wb.DefaultWorkSheet;

使用 IronXL 将数据表数据导出到 Excel 工作表

using IronXL 向工作表中添加值可以简化整个过程,因为它只需编写最少的代码即可完成此任务。 在这里我们将学习如何将上一节中创建的数据表中的数据导出到新创建的 Excel 工作表中。 让我们一步一步地来看代码。

在 Excel 工作表中添加列标题

// Assign DataTable column names to the first row of the Excel worksheet
ws["A1"].Value = dt.Columns[0].ToString();
ws["B1"].Value = dt.Columns[1].ToString();
// Start adding data from the second row
int rowCount = 2;

在上面的代码中,Excel 工作表的"A1"列被赋值为数据表第 1 列索引为 0 的值,Excel 工作表的下一个"B1"列被赋值为数据表第 2 列索引为 1 的值。 rowCount变量的值设置为 2,表示从 DataTable 的第二行开始读取行; 这样可以确保我们不将标题行计算在内。

向 Excel 工作表中添加行

以下代码将从数据表中读取每一行,并将其分配给 Excel 文件中的新行:

// Iterate through each row in the DataTable and add to Excel worksheet
foreach (DataRow row in dt.Rows)
{
    ws["A" + (rowCount)].Value = row[0].ToString();
    ws["B" + (rowCount)].Value = row[1].ToString();
    rowCount++;
}

上述代码中, rowCount变量每次都会递增,以便从DataTable 中读取新行到 Excel工作表单元格中。

保存 Excel 文件

最后,使用**SaveAs()**方法保存 Excel 文件。

// Save the workbook to a file
wb.SaveAs("DataTable_to_Excel_IronXL.xlsx");

文件还可以保存为其他格式,例如 CSV(逗号分隔值)、JSON、XML。

// Save the workbook in different file formats
wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv");
wb.SaveAsJson("DataTable_to_Excel_IronXL.json");
wb.SaveAsXml("DataTable_to_Excel_IronXL.xml");

您还可以使用自定义分隔符保存。

输出

文件的最终输出结果如下所示:

DataTable到Excel输出

摘要

在本文中,我们演示了如何在 C# 中创建具有列和行的 DataTable,然后使用 IronXL 生成带有默认工作表的 Excel 工作簿。 然后,我们成功地将数据表中的表格数据导出到 Excel 文件中,并将其保存为 .xlsx 格式。

IronXL是一个用户友好的 C# 库,即使没有安装 MS Excel,开发人员也可以无缝地处理 Excel 文件。 它支持从各种格式(例如 CSV 文件)导出数据,以便进行进一步的处理和计算。

要了解有关 IronXL 及其强大功能集的更多信息,请务必查看其详尽的文档。 想亲自体验一下吗? IronXL 还提供免费试用版,可完全访问所有功能,因此您可以立即开始探索这个强大的库如何改进您的电子表格项目!

Curtis Chau
技术作家

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

...
阅读更多

相关文章

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户