使用IRONXL

如何以最快的方式将DataTable导出到Excel

更新 2024年二月11日
分享:

本文将向您展示如何在 C# 中创建 "DataTable",然后使用 IronXL .NET Excel 库将数据导出到 Excel 文档。

IronXL .NET Excel 库

IronXL 是一个 C# .NET 库,可帮助用户轻松创建 Excel 文件。新创建的 Excel 工作簿可添加多个工作表。它提供了几乎所有 Microsoft Excel 功能,可在 C# 中处理 Excel 文件。它能帮助开发人员打开 CSV 文件和 Excel 文件,并修改 Excel 工作表中的现有数据。

最重要的是,IronXL 无需 Microsoft Office Interop 即可运行。这意味着无需安装 Microsoft Office 或任何其他特殊依赖项。IronXL 可在 .NET Core 和 .NET Framework 5、6 和 7 上运行。

通过 IronXL,您可以保存或 以不同格式导出数据 如 XLS 和 XLSX、CSV 数据和 TSV、JSON、XML 和 HTML、二进制和字节数组。它有助于 编辑元数据, 工作簿权限和密码, 编辑公式、编辑布局、处理单元格区域和 单元格样式 以及更多 Excel 功能。

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

先决条件

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

  1. Visual Studio - Visual Studio 是 C# 编程的集成开发环境,必须安装。您可以从 Visual Studio 网站.

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

    如何以最快的方式将数据表导出到 Excel,图 1:创建项目

    创建项目

    如何以最快的方式将数据表导出到 Excel,图 2:控制台应用程序

    *控制台应用程序***

    如何以最快的方式将 DataTable 导出到 Excel,图 3:命名项目

    项目名称

    如何以最快的方式将 DataTable 导出到 Excel,图 4:.NET Framework

    .NET框架

    点击最后一张截图中的 "创建 "后,名称为"DemoApp"**的项目就创建好了。

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

    • 使用 Visual Studio--它提供 NuGet 包管理器来安装 IronXL。你可以通过 "工具 "菜单或 "解决方案资源管理器 "访问它。以下截图有助于安装 IronXL。

    如何以最快的方式将数据表导出到 Excel,图 5:解决方案资源管理器

    *解决方案探索者***

    如何以最快的方式将 DataTable 导出到 Excel,图 6:工具 - NuGet 软件包管理器

    工具 - NuGet 软件包管理器

    如何以最快的方式将数据表导出到 Excel,图 7:浏览 IronXL

    浏览铁XL

    • 开发人员命令提示符 - 从 Visual Studio 工具菜单或 Visual Studio 文件夹中打开开发人员命令提示符。键入以下命令下载 IronXL 并安装到项目中:
    :ProductInstall
  1. Add Necessary Namespaces (添加必要的命名空间**)- 要创建 "DataTable "并使用 IronXL,两者都应在 Program.cs 文件的顶部引用。
    using IronXL; //add reference...
    using System.Data;
    using IronXL; //add reference...
    using System.Data;
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

满足所有前提条件后,就可以将数据从 DataTable 导出到 Excel 表单。

在 C&num 中创建一个 DataTable;

以下代码有助于创建一个有两个列标题和多行的数据表:

//new datatable dt...
DataTable dt = new DataTable();
//add column names...
dt.Columns.Add("Animal");
dt.Columns.Add("Sound");
dt.Rows.Add("Lion", "Roars"); // first row...
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");
//new datatable dt...
DataTable dt = new DataTable();
//add column names...
dt.Columns.Add("Animal");
dt.Columns.Add("Sound");
dt.Rows.Add("Lion", "Roars"); // first row...
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");
'new datatable dt...
Dim dt As New DataTable()
'add column names...
dt.Columns.Add("Animal")
dt.Columns.Add("Sound")
dt.Rows.Add("Lion", "Roars") ' first row...
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")
VB   C#

首先,创建一个 DataTable 对象,然后添加列名为 "动物 "和 "声音 "的列。然后,使用此 dt 对象添加多行。同样,也可以在添加多行的同时添加多个列标题。

使用 C&num 中的 IronXL 创建 Excel 文件;

使用 IronXL 创建 Excel 文件只需两步,而且在 C# 中非常容易实现。Excel 文件是一个具有多个工作表的工作簿的组合。 工作簿 然后帮助添加一个 工作表 到工作表中。以下示例代码将有助于创建工作簿和工作表:

//create new workbook...
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet ws = wb.DefaultWorkSheet;
//create new workbook...
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet ws = wb.DefaultWorkSheet;
'create new workbook...
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim ws As WorkSheet = wb.DefaultWorkSheet
VB   C#

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

IronXL 能以非常简单的语法为工作表添加值。本教程将介绍如何 从数据表导出数据 中创建的 Excel 工作表。让我们一步步看看代码。

为 Excel 工作表添加列标题

ws ["A1"].Value = table.Columns [0].ToString();
ws ["B1"].Value = table.Columns [1].ToString();
int rowCount = 2;
ws ["A1"].Value = table.Columns [0].ToString();
ws ["B1"].Value = table.Columns [1].ToString();
int rowCount = 2;
ws ("A1").Value = table.Columns (0).ToString()
ws ("B1").Value = table.Columns (1).ToString()
Dim rowCount As Integer = 2
VB   C#

在上述代码中,Excel 工作表列 "A1 "的值来自索引 0 的 "数据表 "第 1 列,下一 Excel 列 "B1 "的值来自索引 1 的 "数据表 "第 2 列。从 DataTable 中读取行时,rowCount 变量的值设置为 2。

在 Excel 工作表中添加行

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

foreach (DataRow row in table.Rows)
{
    ws ["A" + (rowCount)].Value = row [0].ToString();
    ws ["B" + (rowCount)].Value = row [1].ToString();
    rowCount++;
}
foreach (DataRow row in table.Rows)
{
    ws ["A" + (rowCount)].Value = row [0].ToString();
    ws ["B" + (rowCount)].Value = row [1].ToString();
    rowCount++;
}
For Each row As DataRow In table.Rows
	ws ("A" & (rowCount)).Value = row (0).ToString()
	ws ("B" & (rowCount)).Value = row (1).ToString()
	rowCount += 1
Next row
VB   C#

行数 "变量每次都会递增,以便从 数据表到 Excel 工作表单元格。

保存 Excel 文件

最后,使用 保存为 方法。

wb.SaveAs("DataTable_to_Excel_IronXL.xlsx");
wb.SaveAs("DataTable_to_Excel_IronXL.xlsx");
wb.SaveAs("DataTable_to_Excel_IronXL.xlsx")
VB   C#

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

wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv");
wb.SaveAsJson("DataTable_to_Excel_IronXL.json");
wb.SaveAsXml("DataTable_to_Excel_IronXL.xml");
wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv");
wb.SaveAsJson("DataTable_to_Excel_IronXL.json");
wb.SaveAsXml("DataTable_to_Excel_IronXL.xml");
wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv")
wb.SaveAsJson("DataTable_to_Excel_IronXL.json")
wb.SaveAsXml("DataTable_to_Excel_IronXL.xml")
VB   C#

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

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

如何以最快的方式将数据表导出到 Excel,图 8:数据表到 Excel 的输出

数据表到 Excel 的输出

摘要

本文演示了如何用 C# 创建一个有列和行的 "数据表",然后用 IronXL 创建一个有默认工作表的 Excel 工作簿,并将 "数据表 "中的表格数据导出到 Excel 并保存为 XLSX 文件格式。

IronXL 是一个直观的 C# Excel 库,可帮助开发人员在没有 Excel 应用程序的情况下处理 Excel 文件。它允许开发人员从 CSV 数据格式等不同格式导出数据到 Excel,以便进行数据操作和计算。您可以从以下链接探索 IronXL 的更多强大功能 代码示例页面.

IronXL 可免费用于个人开发,也可授权用于商业用途。它还以 免费试用 以确保与个人需求的兼容性。有关 IronXL 许可证的更多信息,请参阅以下链接 许可页面.

*下载 软件产品。

< 前一页
如何在VB.NET中将数据表导出到Excel
下一步 >
如何在C#中读取Excel文件

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

免费NuGet下载 总下载量: 988,189 查看许可证 >