IRONSOFTWAREHOME
USING IRONXL

C# 中 DataTable 到 Excel(代码示例教程)

Curtis Chau
Curtis Chau
Updated: 2026年6月28日

以编程方式更改Excel电子表格可能会遇到两个主要问题。 首先,在处理电子表格时,用户必须保持界面和文档结构的一致性,这并不总是简单的。 其次,在特定情况下(尤其是涉及复杂计算时)并不总是清楚哪些代码可以工作。 以编程方式创建Excel文件存在众多困难。 程序员必须首先将Excel文档中的数据转换为可读格式,然后解析数据并解析回去,这更加困难。 我已找到解决这个问题的方法。 我会教你如何使用IronXL .NET Excel库创建Excel文件并将DataTable以编程方式导出到Excel工作表中。 让我们开始吧:

IronXL功能

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

1 在Visual Studio中创建新项目

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

如何在C#中从数据表导出大量数据到Excel,图1:在Visual Studio中创建一个新项目UI 在Visual Studio中创建新项目UI

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

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

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

如何在C#中从数据表导出大量数据到Excel,图3:选择.NET Framework的UI .NET Framework选择 UI

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

如何在C#中从数据表导出大量数据到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#中从数据表导出大量数据到Excel,图5:在Visual Studio中导航到NuGet包管理器 在 Visual Studio 中导航到 NuGet 包管理器

IronXL在搜索结果中:

如何在C#中从数据表导出大量数据到Excel,图6:搜索IronXL库 搜索IronXL库

2.2 使用Visual Studio命令行

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

  • 在Visual Studio中,转到工具-> NuGet包管理器 -> 包管理器控制台
  • 在包管理器控制台选项卡中输入以下行:

PM > Install-Package IronXL.Excel

现在包将下载/安装到当前项目,并可以使用了。

如何在C#中从数据表导出大量数据到Excel,图7:通过控制台安装IronXL包 通过控制台安装IronXL包

2.3 直接从NuGet网站下载

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

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

2.4 直接从IronXL网站下载

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

  • 从解决方案窗口中右键点击项目。
  • 然后,选择参考选项并浏览到下载参考的位置。
  • 接下来,点击确定以添加参考。

3 使用IronXL将DataTable导出为Excel文件

IronXL允许我们简单地分步骤将DataTable导出为Excel文件。

首先,我们需要如下面的代码截图中那样包含IronXL的命名空间。 一旦添加完毕,我们就可以在代码中使用IronXL的类和方法。

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

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

using System;
using System.Data;
using IronXL;

public class ExcelExporter
{
    /// <summary>
    /// Exports a DataTable to an Excel file using IronXL.
    /// </summary>
    /// <param name="filePath">The file path where the Excel file will be saved.</param>
    public static void ExportToExcel(string filePath)
    {
        // Creating a DataTable with a single column
        DataTable table = new DataTable();
        table.Columns.Add("DataSet_Animal", typeof(string));

        // Adding some rows to the DataTable
        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");

        // Creating a new Excel Workbook
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);

        // Accessing the default worksheet
        WorkSheet ws = wb.DefaultWorkSheet;

        // Iterating through the DataTable rows
        int rowCount = 1;
        foreach (DataRow row in table.Rows)
        {
            // Adding each DataRow's first column value to the corresponding cell in the worksheet
            ws["A" + rowCount].Value = row[0].ToString();
            rowCount++;
        }

        // Saving the workbook to a CSV file at specified file path with ";" as delimiter
        wb.SaveAsCsv(filePath, ";");
    }
}

在上述代码中,我们正在将DataTable导出到Excel文件中。首先,我们创建一个DataTable,然后我们创建列标题。 创建好列后,我们一个接一个地添加行。 一旦行添加完毕,我们创建WorkBook对象。 通过使用该对象,我们可以将数据添加到Excel工作表中,然后将数据保存到指定位置。 我们正在创建一个WorkBook对象中。

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

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

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

结果:

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

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

4 结论

IronXL是最常用的Excel库之一。 它不依赖于任何其他第三方库。 它是独立的,不需要安装MS Excel。 它可在多个平台上运行。 IronXL的入门价格为$999。 此外,它提供一年的产品支持和更新选项。 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 天试用密钥
无需信用卡或创建账户