使用 IRONXL 如何用 C# 将 `DataTable` 导出为 CSV Curtis Chau 已更新:2025年10月16日 下载 IronXL NuGet 下载 DLL 下载 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 IronXL 能够在 C# 中实现DataTable到 CSV 的无缝转换,而无需安装 Microsoft Excel。 这个独立的 .NET 库提供了一个简单的 API,可以自动将DataTables转换为具有自定义结构和分隔符的 CSV 文件,使开发人员能够轻松地导出数据。 IronXL 是一个流行的库,它允许开发人员在 C# .NET 技术中与Microsoft Excel 文档(包括 CSV 文件)进行交互,而无需安装 Microsoft Excel。 它能够自动将已注册的类型转换为 CSV 文件,并能够使用自定义结构写入 CSV 文件。 IronXL Library 提供哪些功能? 使用 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、移动平台、 Linux 、 macOS和Azure 。 领先的 .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 的"创建新项目"对话框显示了各种 .NET 项目模板,包括控制台应用程序、ASP.NET Core Web 应用程序和 Blazor 服务器应用程序选项。 在 Visual Studio 中创建新项目 之后,输入项目名称和地点。 Visual Studio 项目配置对话框显示了名为"ConsoleApp1"的新 C# 控制台应用程序的设置,目标平台为 Windows,输出平台为控制台。 配置新项目 接下来,选择以下结构。 本项目将使用.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? 使用 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 包管理器" >"包管理器界面"。 在软件包管理器的控制台选项卡中输入以下命令: 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 Lambda和Azure Functions等云平台。 如何将DataTable导出为 CSV 文件? 使用 IronXL 可以轻松快速地将DataTables导出为 CSV 文件。 它支持自定义分隔符和编码选项,帮助将数据写入新的 CSV 文件。 首先,如下面的代码图像所示,应包含 IronXL 命名空间才能使用 IronXL 类和方法。 ! C# 代码编辑器显示"using IronXL;"和"using System.Data;"命名空间声明,并对 DataTable 到 CSV 导出实现进行语法高亮显示。 添加通用命名空间 可以使用 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, ";"); } 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, ";"); } Imports IronXL Imports System.Data ' Entry point of the application Shared Sub Main(ByVal args() As String) ' Specify the file path for the CSV file output ExportToExcel("H:\test.csv") End Sub ' Exports the DataTable to an Excel file and saves it as CSV Public Shared Sub ExportToExcel(ByVal filepath As String) ' Create a DataTable and add columns and rows Dim table As New DataTable() table.Columns.Add("DataSet_Fruits", GetType(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 Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS) Dim writer = wb.DefaultWorkSheet Dim rowCount As Integer = 1 For Each row As DataRow In table.Rows ' Write each item from the DataTable into the worksheet starting from cell A1 writer("A" & (rowCount)).Value = row(0).ToString() rowCount += 1 Next row ' Save the workbook as a CSV file with a specified delimiter wb.SaveAsCsv(filepath, ";") End Sub $vbLabelText $csharpLabel 以上代码将DataTable导出到 Excel 文件。列标题在DataTable创建完成后自动生成。 然后,在确定第一列之后,逐行添加后续行。 在向DataTable对象添加列和行以保存这些数据之后,就会创建WorkBook对象。 然后创建WorkSheet对象,并将其添加到WorkBook对象中。 使用foreach循环读取DataTable中的每个值,然后将其添加到WorkSheet 。 将所有值添加到工作表后, 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); } // 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); } Imports System.Text ' Export with custom delimiter and encoding Public Shared Sub ExportToCSVWithOptions(dataTable As DataTable, filepath As String) ' Create workbook from DataTable Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX) Dim ws As WorkSheet = wb.CreateWorkSheet("DataExport") ' Add headers For i As Integer = 0 To dataTable.Columns.Count - 1 ws($"{ChrW(AscW("A"c) + i)}1").Value = dataTable.Columns(i).ColumnName Next ' Add data rows For row As Integer = 0 To dataTable.Rows.Count - 1 For col As Integer = 0 To dataTable.Columns.Count - 1 ws($"{ChrW(AscW("A"c) + col)}{row + 2}").Value = dataTable.Rows(row)(col) Next Next ' Save with custom delimiter (comma) and UTF-8 encoding wb.SaveAsCsv(filepath, ",", Encoding.UTF8) End Sub $vbLabelText $csharpLabel 这种方法可以让你更好地控制导出过程,允许你设置单元格数据格式并自定义输出结构。 ! Excel 电子表格显示 A 列中的水果列表(苹果、橙子、草莓、葡萄、西瓜、香蕉、柠檬),采用正确的 CSV 格式,没有额外的分隔符。 输出 CSV 文件 上面显示的是运行代码示例的输出结果。 在截图中,数据表中的每一条数据都被单独添加到新生成的 Excel 表格中。 您还可以在导出之前对单元格应用格式,或添加公式以计算值。 对于更高级的 CSV 操作,您可以: -读取带有自定义分隔符的 CSV 文件 以特定编码写入 CSV 文件 -在不同的电子表格格式之间进行转换 -导出为 JSON 或 XML格式 要了解有关 IronXL 教程的更多信息,请点击此链接了解如何导出到 Excel 格式。 为什么我应该使用 IronXL 进行 CSV 导出? IronXL是Excel中最受欢迎的工具之一。 它不依赖于任何其他外部来源的库。 它是独立运行的,无需安装微软Excel。 它通过多个渠道运营。 IronXL 提供了一个一体化解决方案,用于以编程方式实现所有与 Microsoft Excel 文档相关的任务。 您可以执行公式计算、字符串或数字排序、修剪和追加、查找和替换、合并和取消合并、保存文件等操作。您还可以设置单元格数据格式并验证电子表格数据。 它还支持读写 CSV 文件,帮助您像处理 Excel 数据一样处理数据。 其他福利包括: 敏感数据导出密码保护 针对大型数据集的性能优化 支持在导出为 CSV 文件之前在 Excel 中进行条件格式设置 支持命名范围和命名表 以支持的格式保留超链接 IronXL 的起售价为$799 。 它还为用户提供支付一年订阅费以获得产品支持和更新的选项。 IronXL 提供额外付费的无限制再分发安全保障。 如需了解更详细的定价信息,请访问此许可页面。 常见问题解答 我如何在 C# 中将 DataTable 导出到 CSV 文件? 您可以使用 IronXL 通过创建 WorkBook 并将数据导出到工作表对象来将 DataTable 导出为 CSV 文件。这允许无缝转换和导出,而无需 Microsoft Excel。 我可以使用此库导出哪些文件格式? IronXL 允许将数据导出为多种格式,如 XLS、CSV、TSV 和 JSON,提供了处理不同数据需求的灵活性。 是否可以使用此库执行类似 Excel 的操作? 是的,IronXL 支持类似 Excel 的操作,如公式计算、数据排序和文件保存,使其成为与 Excel 相关的编程任务的综合工具。 我需要安装 Microsoft Excel 才能使用此库吗? 不,IronXL 是一个独立的 .NET 库,不需要安装 Microsoft Excel,开发人员可以直接在他们的 C# 应用程序中操作 Excel 文档。 哪些平台与此库兼容? IronXL兼容多个平台,包括.NET Core、.NET Framework、Xamarin以及Windows、Linux和macOS。 如何在我的项目中安装 IronXL 库? 可以通过访问 NuGet 包管理器或直接从 NuGet 或 IronXL 网站下载来在 Visual Studio 中将 IronXL 安装到 .NET 项目中。 有哪些可用的定价选项? IronXL 提供起始价格,选择订阅一年,包括产品支持和更新,提供持续的支持和最新功能的访问。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已发布2026年2月15日 如何使用 OleDb 与 IronXL.Excel 将 DataTable 导出到 Excel C# 了解如何使用 OleDb 与 IronXL.Excel 将 DataTable 导出到 Excel C#。 阅读更多 已发布2026年2月15日 如何使用 IronXL for .NET 在未安装 Office 的情况下在 VB.NET 中打开现有 Excel 文件 了解如何使用 IronXL for .NET 在未安装 Office 的情况下在 VB.NET 中打开现有 Excel 文件。 阅读更多 已发布2026年2月15日 C# CSV 到 XLSX:完整的开发人员指南 使用 IronXL 在 C# 中将 CSV 转换为 XLSX。加载 CSV 文件、保留数据类型、添加图表并导出为 Excel 格式,而无需依赖 Microsoft Office。 阅读更多 如何从 Excel 文件中获取单元格值在 C# 中如何在 C# 中导入 Excel 文件
已发布2026年2月15日 如何使用 OleDb 与 IronXL.Excel 将 DataTable 导出到 Excel C# 了解如何使用 OleDb 与 IronXL.Excel 将 DataTable 导出到 Excel C#。 阅读更多
已发布2026年2月15日 如何使用 IronXL for .NET 在未安装 Office 的情况下在 VB.NET 中打开现有 Excel 文件 了解如何使用 IronXL for .NET 在未安装 Office 的情况下在 VB.NET 中打开现有 Excel 文件。 阅读更多
已发布2026年2月15日 C# CSV 到 XLSX:完整的开发人员指南 使用 IronXL 在 C# 中将 CSV 转换为 XLSX。加载 CSV 文件、保留数据类型、添加图表并导出为 Excel 格式,而无需依赖 Microsoft Office。 阅读更多