使用IRONXL

在C#中将数据表导出到Excel(代码示例教程)

更新 2024年一月7日
分享:

以编程方式修改 Excel 电子表格可能会很困难,主要有两个原因。 首先,在处理电子表格时,用户必须保持一致的界面和文档结构,这并不总是那么简单。 其次,在特定情况下,尤其是涉及复杂计算时,并不总是很清楚哪种代码可以工作。 以编程方式创建 Excel 文件之所以困难,原因有很多。 程序员必须首先将 Excel 文档中的数据转换为可读格式,然后再对数据进行解析和回译,这就更加困难了。 我想出了一个解决这个问题的办法。 我将教你如何使用 IronXL for .NET Excel 库制作 Excel 文件,并以编程方式将 Datatable 顺利导出到 Excel 表。 让我们开始吧:

IronXL 功能

  • IronXL 可在包括 Windows 在内的多种操作系统上运行、LinuxmacOS.
  • IronXL 支持几乎所有的 .NET Framework,包括控制台、Windows 窗体应用程序以及网络应用.
  • IronXL 使阅读 Excel 文件变得简单明了。
  • 我们可以加载、编辑导出数据表导出数据集,以及读取 Excel 文件格式您还可以使用 IronXL 创建 XLSX 文件、XLS、CSV、TSV、XLST、XLSM 文件等。
  • IronXL 允许我们保存和导出文件翻译的内容必须包括:XLS、CSV、TSV、JSON、XLSX 等各种扩展名。
  • Excel 公式可由 IronXL 创建。
  • 文本、数字、公式、日期、货币、百分比及其他Excel 单元格数据格式由 IronXL 支持。
  • 它还提供了大量排序选项例如,"范围"、"列 "和 "行 "等。
  • IronXL 中的单元格样式包括字体此外,翻译还必须考虑到字体大小、背景图案、边框和对齐方式等因素。
  • 我们可以使用 IronXL.Excel 读取和导出 Excel 文件中的数据。
  • IronXL.Excel 不需要在服务器上安装 Excel 或 Interop。 IronXL.Excel API 比 Microsoft Office、Interop 和 Excel 更快、更易使用。

1 在 Visual Studio 中创建新项目

要使用 IronXL 库,我们必须在 Visual Studio 中创建一个 .NET 项目。 您可以使用任何版本的 Visual Studio,但建议使用最新版本。 您可以根据自己的要求创建类似 Windows 窗体的应用程序或不同的项目模板。 为简单起见,我将在本教程中使用控制台应用程序。

如何用 C# 将大量数据从 Datatable 导出到 Excel,图 1:在 Visual Studio 中创建新项目用户界面

在 Visual Studio 中创建一个新的项目用户界面

接下来,输入项目名称和项目位置。

如何用 C# 将大量数据从 Datatable 导出到 Excel,图 2:创建新项目的配置步骤

创建新项目的配置步骤

接下来,选择下面的框架。 在本项目中,我们将使用 .NET Core 6。

如何用 C# 将大量数据从 Datatable 导出到 Excel,图 3:.Net Framework 选择用户界面

.NET Framework 选择 UI

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

如何用 C# 将大量数据从 Datatable 导出到 Excel,图 4:新项目上的空 program.cs 文件

新项目上的空 program.cs 文件

接下来,我们可以添加库来测试代码。

2 安装 IronXL 库

IronXL 库可以通过四种方式下载和安装。

它们是

  • 使用 Visual Studio
  • 使用Visual Studio命令行。
  • 直接从 NuGet 网站下载。
  • 直接从 IronXL 网站下载。

2.1 使用Visual Studio

我们可以使用 NuGet 包管理器安装 IronXL 库。 您必须首先打开 NuGet 软件包管理器,然后在浏览选项卡中搜索 IronXL。 从搜索结果中选择 IronXL 并安装。 之后,我们的项目就可以在 IronXL 库中使用了。

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

如何用 C# 将大量数据从 Datatable 导出到 Excel,图 5:在 Visual Studio 中导航到 NuGet 包管理器

在 Visual Studio 中导航到 NuGet 包管理器

搜索结果中的 IronXL:

如何用 C# 将大量数据从 Datatable 导出到 Excel,图 6:搜索 IronXL 库

搜索 IronXL 库

2.2 使用 Visual Studio 命令行

许多人喜欢使用控制台进行操作。 因此,我们也可以通过控制台进行安装。 请按照以下步骤通过命令行安装 IronXL。

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

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

如何用 C# 将大量数据从 Datatable 导出到 Excel,图 7:通过控制台安装 IronXL 软件包

通过控制台安装 IronXL 软件包

2.3 直接从 NuGet 网站下载

第三种方法是直接从网站上下载 NuGet 软件包。

  • 导航至NuGet 官方 IronXL 软件包页面.
  • 从右侧菜单中选择下载软件包选项。
  • 双击下载的软件包。 它将自动安装。
  • 接下来,重新加载解决方案并开始在项目中使用。

2.4 直接从 IronXL 网站下载

点击链接以下载最新软件包直接从网站下载。一旦下载完成,按照以下步骤将包添加到项目中。

  • 右键单击解决方案窗口中的项目。
  • 接着,选择“引用”选项并浏览下载的引用位置。
  • 接下来,点击确定添加引用。

3 使用 IronXL 将 Datatable 导出到 Excel 文件

IronXL.Excel 允许我们通过有限的步骤将 Datatables 轻松导出为 Excel 文件。

首先,我们需要包含 IronXL 的命名空间,如下面的代码截图所示。 添加完成后,我们就可以在代码上使用 IronXL 类和方法了。

如何用 C# 将大量数据从 Datatable 导出到 Excel,图 8:使用库之前包含 IronXL 的命名空间

在使用库之前包含 IronXL 的 `名称空间

IronXL.Excel 允许我们创建 Excel 文件并将其转换为工作簿对象。 在将它们转换为对象后,我们可以执行各种类型的操作。 在下面的示例代码中,我们将把 Datatable 转换为 Excel 工作表,然后创建 Excel 文件。

public static void ExportToExcel(string filePath)
{
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Animal", typeof(string));
    table.Rows.Add("Lion");
    table.Rows.Add("Tiger");
    table.Rows.Add("Cat");
    table.Rows.Add("Goat");
    table.Rows.Add("Panther");
    table.Rows.Add("Fox");
    table.Rows.Add("Cheetah");
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    WorkSheet ws = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        ws ["A" + (rowCount)].Value = row [0].ToString();
        rowCount++;
    }
    wb.SaveAsCsv(filePath, ";");
}
public static void ExportToExcel(string filePath)
{
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Animal", typeof(string));
    table.Rows.Add("Lion");
    table.Rows.Add("Tiger");
    table.Rows.Add("Cat");
    table.Rows.Add("Goat");
    table.Rows.Add("Panther");
    table.Rows.Add("Fox");
    table.Rows.Add("Cheetah");
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    WorkSheet ws = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        ws ["A" + (rowCount)].Value = row [0].ToString();
        rowCount++;
    }
    wb.SaveAsCsv(filePath, ";");
}
Public Shared Sub ExportToExcel(ByVal filePath As String)
	Dim table As New DataTable()
	table.Columns.Add("DataSet_Animal", GetType(String))
	table.Rows.Add("Lion")
	table.Rows.Add("Tiger")
	table.Rows.Add("Cat")
	table.Rows.Add("Goat")
	table.Rows.Add("Panther")
	table.Rows.Add("Fox")
	table.Rows.Add("Cheetah")
	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 table.Rows
		ws ("A" & (rowCount)).Value = row (0).ToString()
		rowCount += 1
	Next row
	wb.SaveAsCsv(filePath, ";")
End Sub
VB   C#

在上述代码中,我们要将数据表导出到 Excel 文件。首先,我们创建一个 DataTable,然后创建列标题。 创建栏目后,我们逐一添加栏目。 添加栏目后,我们将创建工作簿反对 通过使用对象,我们可以将数据添加到 Excel 表中,然后将数据保存到相应位置。 我们正在创建工作表我们可以使用 WorkBook 对象来创建工作表,然后将其添加到 WorkBook 对象中。

我们正在使用 foreach 循环逐个读取数据表的值,然后将值添加到工作表中。 将所有值添加到工作表后,我们将使用 SaveAsCSV 方法将其保存到 CSV 文件中,我们需要将分隔符和文件名以及位置作为参数传递。 分隔符是一个可选参数,如果不需要,我们可以忽略它。

如何用 C# 将大量数据从 Datatable 导出到 Excel,图 9:Visual Studio 中完成的代码

在 Visual Studio 中完成的代码

以上是我们在 .NET Core 6 上使用的代码的完整截图。

结果:

如何用 C# 将大量数据从 Datatable 导出到 Excel,图 10:在 Microsoft Excel 中打开文件时的结果

在 Microsoft Excel 中打开文件时的结果

以上是执行代码示例的结果。 在截图中,数据表中的所有数据已逐一添加到新创建的 Excel 表中。

4 结论

IronXL 是最常用的 Excel 库之一。 它不依赖于任何其他第三方库。 它是独立的,不需要安装 MS Excel。 它可在多个平台上运行。 IronXL 的入门价格为 $749。 此外,它还提供了为期一年的产品支持和更新费用选项。 IronXL 提供免版税的再分发服务,但需支付额外费用。要了解更多价格详情,请访问我们的许可页面.

< 前一页
C# 程序化打开 Excel 文件(代码示例教程)
下一步 >
如何在 Excel 中移动行