IRONSOFTWAREHOME
USING IRONXL

如何在 C# 中将 `DataTable` 导出为 CSV 文件

Curtis Chau
Curtis Chau
Updated: 2026年4月23日

IronXL可以在C#中无缝地将DataTable转换为CSV,而不需要安装Microsoft Excel。 这个独立的.NET库提供了一个简单的API,可以自动将DataTables转换为具有自定义结构和分隔符的CSV文件,使开发者能够轻松导出数据。

IronXL是一个流行的库,它允许开发人员在 C# .NET技术中与Microsoft Excel 文档(包括 CSV 文件)进行交互,而无需安装 Microsoft Excel。 它能够自动将已注册的类型转换为 CSV 文件,并能够使用自定义结构写入 CSV 文件。

IronXL Library 提供哪些功能?

using C# IronXL .NET库可以读取Microsoft Excel 文档并将其转换为 CSV 文件。 IronXL是一个独立的.NET软件库,可以读取各种电子表格格式。 这不依赖于Microsoft.Office.Interop.Excel,也不需要安装Microsoft Excel。

借助IronXL的用户友好型 C# API ,您可以在.NET环境中快速读取、修改和创建 Excel 电子表格文件。 IronXL完全支持.NET Core、 .NET Framework 、Xamarin、移动平台、 LinuxmacOSAzure

  • 领先的 .NET Core 和 .NET Framework Excel 电子表格库(适用于 C#)包括 IronXL。
  • 几乎所有.NET Framework 版本都受支持,包括控制台应用程序、Windows 窗体应用程序和 Web 应用程序。
  • IronXL可在 Windows、Linux 和 macOS 操作系统上运行。
  • IronXL让读取 Excel 文件变得简单快捷。
  • IronXL支持多种 Excel 格式:XLSX、XLS、CSV、TSV、XLST 和 XLSM 文件。
  • IronXL可将文件导出为多种格式,包括 XLS、CSV、TSV、JSON 和 XML。
  • IronXL可生成 Excel 计算结果并支持公式。
  • IronXL支持 Excel 列数据格式,包括文本、数字、日期、货币和百分比。

更多详情请访问IronXL文档概述

如何在 Visual Studio 中创建新项目?

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

Visual Studio的 在 Visual Studio 中创建新项目

之后,输入项目名称和地点。

Visual Studio项目配置对话框,显示一个新的C#控制台应用程序的设置,项目名称为 配置新项目

接下来,选择以下结构。 本项目将使用.NET Core 6。

Visual Studio项目创建对话框,显示控制台应用程序配置,选择.NET 6.0(长期支持)作为框架。 选择.NET Framework版本

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

Visual Studio中空白的C#控制台应用程序窗口,显示IronXLConsole项目,初始代码结构已准备好实现CSV导出功能。 新创建的控制台应用程序项目

然后就可以添加该库并使用它来评估代码。 对于其他项目类型,例如.NET MAUI应用程序VB .NET项目,该过程类似,但需要考虑框架特定的因素。

如何安装 IronXL 库?

下载和安装 IronXL 库有四种方法。

其中包括:

  • 通过 Visual Studio 安装
  • 使用 Visual Studio 包管理器控制台进行安装
  • 直接从 NuGet 网站下载
  • 直接从 IronXL 网站下载

我应该使用哪种方法安装 Visual Studio?

using NuGet 包管理器可以安装 IronXL 模块。 要找到 IronXL,您必须先启动 NuGet 包管理器,然后在浏览窗格中查找。 从搜索结果中选择 IronXL 进行安装。 之后,IronXL 库就可以使用这个应用程序了。

下图演示了如何启动 Visual Studio 的 NuGet 包管理器。

Visual Studio工具菜单展开,显示NuGet包管理器选项,并在工具下拉菜单中突出显示包管理器控制台。 导航到 NuGet 包管理器

NuGet包管理器界面,显示IronXL.Excel包版本2022.3.0,显示133K下载量和安装按钮,便于集成。 在 NuGet 包管理器 UI 中安装 IronXL 包

何时应该使用软件包管理器控制台?

许多开发者更喜欢使用控制台来执行任务。 因此,终端安装也是一种选择。 要使用命令行安装 IronXL,请按照以下说明操作。

  • 在 Visual Studio 中,导航至**"工具"** > "NuGet 包管理器" >"包管理器界面"。

  • 在软件包管理器的控制台选项卡中输入以下命令:

    PM > Install-Package IronXL.Excel

  • 等待 IronXL 下载并安装到当前项目中。

Visual Studio中的包管理器控制台显示命令'Install-Package IronXL.Excel'及成功安装确认消息。 在软件包管理器控制台界面中安装 IronXL 软件包

我为什么要从NuGet网站下载?

第三种选择是直接从网站下载 NuGet 包。 当互联网访问受限或需要手动管理软件包时,此方法尤其有用。

  • 访问官方NuGet链接
  • 下载软件包选项位于右侧菜单中。
  • 双击已保存的文件,即可立即安装。
  • 之后重新加载解决方案,并开始在项目中使用它。

如何直接从IronXL网站安装?

要直接从网站下载最新软件包,请点击此链接下载 IronXL ZIP 文件。 此链接将下载包含最新版本 IronXL 库 DLL 的 ZIP 文件。 下载完成后,将 ZIP 文件的内容解压到您选择的任何目录中。

下载文件后,要将其添加到项目中,请按照以下步骤操作。

  • 在解决方案窗口中,右键单击项目。
  • 选择"引用",然后导航到包含 IronXL DLL 的已解压文件夹。
  • 选择 DLL,然后单击"确定"将其作为引用添加到活动项目中。

对于部署方案,您还可以将IronXL设置在 Docker 容器中,或者部署到AWS LambdaAzure Functions等云平台。

我如何导出DataTable为CSV文件?

DataTables可以轻松快速地导出到CSV文件,使用IronXL。 它支持自定义分隔符和编码选项,帮助将数据写入新的 CSV 文件。

首先,如下面的代码图像所示,应包含 IronXL 命名空间才能使用 IronXL 类和方法。

C#代码编辑器,显示 添加通用命名空间

可以使用IronXL创建Excel文件,然后将其转换为WorkBook对象。 然后对这些对象执行各种操作。 下面的示例代码将通过将DataTable转换为Excel工作表来构建一个Excel文件。

using IronXL;
using System.Data;

// Entry point of the application
static void Main(string[] args)
{
    // Specify the file path for the CSV file output
    ExportToExcel("H:\\test.csv");
}

// Exports the DataTable to an Excel file and saves it as CSV
public static void ExportToExcel(string filepath)
{
    // Create a DataTable and add columns and rows
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Fruits", typeof(string));
    table.Rows.Add("Apple");
    table.Rows.Add("Orange");
    table.Rows.Add("Strawberry");
    table.Rows.Add("Grapes");
    table.Rows.Add("Watermelon");
    table.Rows.Add("Bananas");
    table.Rows.Add("Lemons");

    // Create a new WorkBook and add the DataTable data to it
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        // Write each item from the DataTable into the worksheet starting from cell A1
        writer["A" + (rowCount)].Value = row[0].ToString();
        rowCount++;
    }
    // Save the workbook as a CSV file with a specified delimiter
    wb.SaveAsCsv(filepath, ";");
}

上述代码将DataTable,列标题就会创建。 然后,在确定第一列之后,逐行添加后续行。 在将列和行添加到WorkBook对象被创建。 WorkBook对象中。

在将值添加到foreach循环读取并添加。 在将所有值添加到工作表后,SaveAsCsv方法将它们保存到CSV文件中。您可以指定分隔符和文件位置作为参数。

对于更复杂的场景,您可能需要将多个数据表导出为不同的工作表,或者使用数据集进行更结构化的数据组织。

使用不同的 CSV 格式

IronXL在处理 CSV 文件时提供了灵活性。 这是一个示例,显示如何以自定义格式和编码导出DataTable

// Export with custom delimiter and encoding
public static void ExportToCSVWithOptions(DataTable dataTable, string filepath)
{
    // Create workbook from DataTable
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
    WorkSheet ws = wb.CreateWorkSheet("DataExport");
    
    // Add headers
    for (int i = 0; i < dataTable.Columns.Count; i++)
    {
        ws[$"{(char)('A' + i)}1"].Value = dataTable.Columns[i].ColumnName;
    }
    
    // Add data rows
    for (int row = 0; row < dataTable.Rows.Count; row++)
    {
        for (int col = 0; col < dataTable.Columns.Count; col++)
        {
            ws[$"{(char)('A' + col)}{row + 2}"].Value = dataTable.Rows[row][col];
        }
    }
    
    // Save with custom delimiter (comma) and UTF-8 encoding
    wb.SaveAsCsv(filepath, ",", System.Text.Encoding.UTF8);
}

这种方法可以让你更好地控制导出过程,允许你设置单元格数据格式并自定义输出结构。

Excel电子表格,显示在A列中以正确的CSV格式和无额外分隔符的水果列表(苹果、橙子、草莓、葡萄、西瓜、香蕉、柠檬)。 输出 CSV 文件

上面显示的是运行代码示例的输出结果。 在截图中,数据表中的每一条数据都被单独添加到新生成的 Excel 表格中。 您还可以在导出之前对单元格应用格式,或添加公式以计算值。

对于更高级的 CSV 操作,您可以: -读取带有自定义分隔符的 CSV 文件

要了解有关 IronXL 教程的更多信息,请点击此链接了解如何导出到 Excel 格式

为什么我应该使用IronXL进行 CSV 导出?

IronXL是Excel中最受欢迎的工具之一。 它不依赖于任何其他外部来源的库。 它是独立运行的,无需安装微软Excel。 它通过多个渠道运营。

IronXL 提供了一个一体化解决方案,用于以编程方式实现所有与 Microsoft Excel 文档相关的任务。 您可以执行公式计算字符串或数字排序修剪和追加、查找和替换、合并和取消合并、保存文件等操作。您还可以设置单元格数据格式并验证电子表格数据。 它还支持读写 CSV 文件,帮助您像处理 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 天试用密钥
无需信用卡或创建账户