使用IRONXL

如何在ASP.NET Core中将Datatable导出到Excel

雷根·彭
雷根·彭
2023年四月18日
更新 2024年三月24日
分享:

本文将探讨将DataTable导出为Excel文件的不同方法及其好处。

1.IronXL

IronXL 是一个强大的 .NET 库,为开发人员提供了使用 ASP.NET 读取、写入和操作 Excel 文件的能力。 它提供了一系列功能,可以简化处理Excel文件的过程,例如数据提取、格式化和验证。

IronXL.Excel 可以处理 XLS 和 XLSX 文件格式,是处理 Excel 文件的多功能工具。 它还支持多种其他文件格式,例如 CSV 和 TSV,允许用户处理不同的数据源。 本文将探讨 IronXL.Excel 的不同功能,以及它如何帮助开发人员简化处理 Excel 文件的流程。

2. 前提条件

使用IronXL库将DataTable中的数据导出到Excel的先决条件:

  • 要创建 ASP.NET 项目,您的系统需要安装 Visual Studio。 如果您还没有 Visual Studio,可以从 Microsoft 网站下载。
  • 在创建 ASP.NET 项目之前,您需要确保系统中已安装 ASP.NET。 您可以通过进入控制面板并检查 "打开或关闭 Windows 功能 "选项来验证这一点。 确保启用 "ASP.NET "选项。
  • 要使用IronXL库将DataTable的数据导出到Excel文件,您必须先安装它。 您可以从 Visual Studio 中的 NuGet 包管理器下载 IronXL NuGet 包进行安装。

3.创建新的 ASP.NET Core 项目

要在 Excel 中使用 IronXL 库,您需要在 Visual Studio 中创建一个 .NET 项目。 您可以使用任何版本的 Visual Studio,但建议使用最新版本。 根据您的要求,您可以选择不同的项目模板,如 Windows Forms。 为方便起见,本教程将使用控制台应用程序。

如何在 ASP.NET 中将数据表导出到 Excel,图 1:在 Visual Studio 中创建新项目

在Visual Studio中创建新项目

选择项目类型后,提供项目名称并指定其位置。 为项目选择所需的 Framework,如 .NET Core 6。

如何在 ASP.NET 中将数据表导出到 Excel,图 2:配置新项目

配置新项目

解决方案创建后,program.cs 文件将被打开,您可以输入代码并构建/运行应用程序。

如何在ASP.NET中导出数据表至Excel,图3:.NET Framework选择

.NET Framework 选择

最后,您还可以结合库来测试代码。

4.安装 IronXL

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

它们是

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

4.1 使用 Visual Studio

要安装 IronXL 库,最简单的方法是使用 Visual Studio 中的 NuGet 包管理器。 只需打开 NuGet 软件包管理器,在 "浏览 "选项卡中搜索 IronXL 即可。 在搜索结果中找到 IronXL 后,请选择并继续安装。 安装完成后,您就可以开始在项目中使用 IronXL 库了。

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

如何在ASP.NET中将Datatable导出到Excel,图4:导航到NuGet包管理器

导航到NuGet包管理器

搜索结果中的 IronXL:

如何在ASP.NET中导出数据表到Excel,图5:在NuGet包管理器UI中搜索并安装IronXL包

在 NuGet 包管理器 UI 中搜索并安装 IronXL 包

4.2 使用 Visual Studio 命令行

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

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

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

如何在 ASP.NET 中将数据表导出到 Excel,图 6:在包管理器控制台中的安装进度

在软件包管理器控制台中的安装进度

5.使用 IronXL.Excel 的 DataTable DT 创建 Excel 文件

将数据表中的数据导出为 Excel 文件格式的做法非常流行。 使用 IronXL,您可以轻松地将DataTable数据导出到 Excel 文档。 下面附带的示例代码将把DataTable转换为以XLSX文件格式保存的Excel工作表。

5.1.数据表到 Excel 文件

首先,您需要包含 IronXL 的命名空间和其他依赖项。 然后,您就可以开始编写下图所示的代码了。

using IronXL;
using System.Data;

DataTable dt = new DataTable();
dt.Columns.Add("DataSet", typeof(string));
dt.Rows.Add("Pen");
dt.Rows.Add("Paper");
dt.Rows.Add("Book");
dt.Rows.Add("Cat");
dt.Rows.Add("Panther");
dt.Rows.Add("Cell");
dt.Rows.Add("Bag");
dt.Rows.Add("Bed");
dt.Rows.Add("Fan");
dt.Rows.Add("Smoke");

WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
WorkSheet ws = wb.DefaultWorkSheet;
int rowCount = 1;

foreach (DataRow row in dt.Rows) {
    ws["A" + (rowCount)].Value = row[0].ToString();
    rowCount++;
}
wb.SaveAs("datatable.xlsx");  
using IronXL;
using System.Data;

DataTable dt = new DataTable();
dt.Columns.Add("DataSet", typeof(string));
dt.Rows.Add("Pen");
dt.Rows.Add("Paper");
dt.Rows.Add("Book");
dt.Rows.Add("Cat");
dt.Rows.Add("Panther");
dt.Rows.Add("Cell");
dt.Rows.Add("Bag");
dt.Rows.Add("Bed");
dt.Rows.Add("Fan");
dt.Rows.Add("Smoke");

WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
WorkSheet ws = wb.DefaultWorkSheet;
int rowCount = 1;

foreach (DataRow row in dt.Rows) {
    ws["A" + (rowCount)].Value = row[0].ToString();
    rowCount++;
}
wb.SaveAs("datatable.xlsx");  
Imports IronXL
Imports System.Data

Private dt As New DataTable()
dt.Columns.Add("DataSet", GetType(String))
dt.Rows.Add("Pen")
dt.Rows.Add("Paper")
dt.Rows.Add("Book")
dt.Rows.Add("Cat")
dt.Rows.Add("Panther")
dt.Rows.Add("Cell")
dt.Rows.Add("Bag")
dt.Rows.Add("Bed")
dt.Rows.Add("Fan")
dt.Rows.Add("Smoke")

Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
Dim ws As WorkSheet = wb.DefaultWorkSheet
Dim rowCount As Integer = 1

For Each row As DataRow In dt.Rows
	ws("A" & (rowCount)).Value = row(0).ToString()
	rowCount += 1
Next row
wb.SaveAs("datatable.xlsx")
$vbLabelText   $csharpLabel

输出

以下是上述源代码的输出结果。

如何在 ASP.NET 中将数据表导出到 Excel,图 7:输出的 Excel 文件

输出Excel文件

5.2.将 DataTable 转换为支持的 Excel 文件格式

使用 IronXL,您还可以将DataTable转换为不同的 Excel 支持的文件格式,如 CSV 文件。 我们将使用下面的示例,但这次要将其保存为 CSV 文件。您只需这样做,就可以将工作簿保存为不同的文件格式。

using System.Data;

DataTable dt = new DataTable();
dt.Columns.Add("DataSet", typeof(string));
dt.Rows.Add("Pen");
dt.Rows.Add("Paper");
dt.Rows.Add("Book");
dt.Rows.Add("Cat");
dt.Rows.Add("Panther");
dt.Rows.Add("Cell");
dt.Rows.Add("Bag");
dt.Rows.Add("Bed");
dt.Rows.Add("Fan");
dt.Rows.Add("Smoke");

WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
WorkSheet ws = wb.DefaultWorkSheet;
int rowCount = 1;

foreach (DataRow row in dt.Rows) {
    ws["A" + (rowCount)].Value = row[0].ToString();
    rowCount++; 
}
wb.SaveAsCsv("datatable.csv");  
using System.Data;

DataTable dt = new DataTable();
dt.Columns.Add("DataSet", typeof(string));
dt.Rows.Add("Pen");
dt.Rows.Add("Paper");
dt.Rows.Add("Book");
dt.Rows.Add("Cat");
dt.Rows.Add("Panther");
dt.Rows.Add("Cell");
dt.Rows.Add("Bag");
dt.Rows.Add("Bed");
dt.Rows.Add("Fan");
dt.Rows.Add("Smoke");

WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
WorkSheet ws = wb.DefaultWorkSheet;
int rowCount = 1;

foreach (DataRow row in dt.Rows) {
    ws["A" + (rowCount)].Value = row[0].ToString();
    rowCount++; 
}
wb.SaveAsCsv("datatable.csv");  
Imports System.Data

Private dt As New DataTable()
dt.Columns.Add("DataSet", GetType(String))
dt.Rows.Add("Pen")
dt.Rows.Add("Paper")
dt.Rows.Add("Book")
dt.Rows.Add("Cat")
dt.Rows.Add("Panther")
dt.Rows.Add("Cell")
dt.Rows.Add("Bag")
dt.Rows.Add("Bed")
dt.Rows.Add("Fan")
dt.Rows.Add("Smoke")

Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
Dim ws As WorkSheet = wb.DefaultWorkSheet
Dim rowCount As Integer = 1

For Each row As DataRow In dt.Rows
	ws("A" & (rowCount)).Value = row(0).ToString()
	rowCount += 1
Next row
wb.SaveAsCsv("datatable.csv")
$vbLabelText   $csharpLabel

如何在 ASP.NET 中将数据表导出为 Excel,图 8:输出 CVS 文件

输出CVS文件

6. 结论

DataTable导出到Excel是数据分析和管理中的关键步骤。 Excel 表被广泛用于数据可视化和演示,IronXL 库提供了一系列功能,可简化在 ASP.NET 中处理 Excel 文件的过程。 本文介绍了创建一个新的ASP.NET项目、安装IronXL以及使用它将数据从DataTable导出到Excel文件的步骤。此外,它演示了如何以不同的文件格式(如CSV)保存工作簿。通过使用IronXL,开发人员可以简化处理Excel文件的过程,并创建数据的视觉上吸引人的展示。

要了解有关IronXL和将DataTable导出到不同Excel格式的更多信息,请访问以下教程

IronXL 可免费安装和用于非商业开发目的。 可以在生产环境中测试的免费试用版可用。 查看定价计划以获取有关价格和许可的更多详细信息。

用户还可以受益于Iron Suite,这是一个包含五个专业库的套件,包括IronXL、IronPDF等。

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