使用IRONXL

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

更新 2024年一月7日
分享:

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

IronXL 功能

  • IronXL 可在包括 Windows 在内的各种操作系统上运行、 LinuxmacOS.
  • IronXL 支持几乎所有 .NET 框架,包括控制台、Windows 窗体应用程序和.NET 应用程序。 网络应用.
  • IronXL 使读取 Excel 文件变得简单易行。
  • 我们可以加载、编辑、 导出数据表导出数据集,以及 读取 Excel 文件格式 如 XLSX 文件、XLS、CSV、TSV、XLST、XLSM 文件等。
  • IronXL 允许我们保存和 导出文件 有多种扩展名,包括 XLS、CSV、TSV、JSON、XLSX 等。
  • Excel 公式 可由 IronXL 创建。
  • 文本、数字、公式、日期、货币、百分比和其他内容。 Excel 单元格数据格式 由 IronXL 支持。
  • 它还提供大量 排序选项 如范围、列和行等。
  • IronXL 中的单元格样式包括 字体这些选项包括尺寸、背景图案、边框和对齐方式等。
  • 我们可以使用 IronXL 从 Excel 文件读取和导出数据。
  • IronXL 不需要在服务器上安装 Excel 或 Interop。IronXL 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框架选择用户界面

应用程序创建解决方案后,将打开 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 将可数据导出到 Excel 文件

IronXL 允许我们通过有限的步骤将数据表轻松导出到 Excel 文件。

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

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

在使用该库之前,请先包含 IronXL 的 "名称空间 "

IronXL 允许我们创建 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 对象中。

我们使用 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 中移动行

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

免费NuGet下载 总下载量: 1,010,881 查看许可证 >