使用 IRONXL 如何在 C# 中将 `DataTable` 导出为 CSV 文件 Curtis Chau 已更新:十月 16, 2025 下载 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 包管理器选项和包管理器控制台。](/static-assets/excel/blog/csharp-export-csv-tutorial/csharp-export-csv-tutorial-5.webp) **导航到 NuGet 包管理器** [NuGet 包管理器界面显示 IronXL.Excel 包,版本为 2022.3.0,显示下载次数为 133K,并带有"安装"按钮,方便集成。](/static-assets/excel/blog/csharp-export-csv-tutorial/csharp-export-csv-tutorial-6.webp) **在 NuGet 包管理器 UI 中安装 IronXL 包** ### 何时应该使用软件包管理器控制台? 许多开发者更喜欢使用控制台来执行任务。 因此,终端安装也是一种选择。 要使用命令行安装 IronXL,请按照以下说明操作。 * 在 Visual Studio 中,导航至**"工具"** > **"NuGet 包管理器"** >"包管理器界面"。 * 在软件包管理器的控制台选项卡中输入以下命令: ```shell :ProductInstall ``` * 等待 IronXL 下载并安装到当前项目中。 [Visual Studio 中的程序包管理器控制台显示命令"Install-Package IronXL.Excel",并显示安装成功的确认消息。](/static-assets/excel/blog/csharp-export-csv-tutorial/csharp-export-csv-tutorial-7.webp) **在软件包管理器控制台界面中安装 IronXL 软件包** ### 我为什么要从 NuGet 网站下载? 第三种选择是直接从网站下载 NuGet 包。 当网络访问受限或需要手动管理软件包时,这种方法特别有用。 * 访问[官方 NuGet 链接](https://www.nuget.org/packages/IronXL.Excel/)。 * 下载软件包选项位于右侧菜单中。 * 双击已保存的文件,即可立即安装。 * 之后重新加载解决方案,并开始在项目中使用它。 ### 如何直接从 IronXL 网站安装? 要直接从网站下载最新软件包,请点击此[链接下载 IronXL ZIP 文件](https://ironsoftware.com/csharp/excel/packages/IronXL.zip)。 此链接将下载包含最新版本 IronXL 库 DLL 的 ZIP 文件。 下载完成后,将 ZIP 文件的内容解压到您选择的任何目录中。 下载文件后,要将其添加到项目中,请按照以下步骤操作。 * 在解决方案窗口中,右键单击项目。 * 选择"引用",然后导航到包含 IronXL DLL 的已解压文件夹。 * 选择 DLL,然后单击"确定"将其作为引用添加到活动项目中。 对于部署方案,您还可以[将 IronXL 设置在 Docker 容器中](/csharp/excel/get-started/docker/),或者部署到[AWS Lambda](/csharp/excel/get-started/aws/)和[Azure Functions](/csharp/excel/get-started/azure/)等云平台。 ## 如何将`DataTable`导出为 CSV 文件? 使用 IronXL 可以轻松快速地将`DataTables`[导出为 CSV 文件](/csharp/excel/how-to/csharp-datatable-to-csv/)。 它支持自定义分隔符和编码选项,帮助将数据写入新的 CSV 文件。 首先,如下面的代码图像所示,应包含 IronXL 命名空间才能使用 IronXL 类和方法。 ! [C# 代码编辑器显示"using IronXL;"和"using System.Data;"命名空间声明,并对 DataTable 到 CSV 导出实现进行语法高亮显示。](/static-assets/excel/blog/csharp-export-csv-tutorial/csharp-export-csv-tutorial-8.webp) **添加通用命名空间** 可以使用 IronXL 创建 Excel 文件,然后将其转换为[`WorkBook`](/csharp/excel/object-reference/api/IronXL.WorkBook.html)对象。 然后对这些对象执行各种操作。 下面的示例代码会将`DataTable`转换为 Excel 工作表,从而创建一个 Excel 文件。 ```cs 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`导出到 Excel 文件。列标题在`DataTable`创建完成后自动生成。 然后,在确定第一列之后,逐行添加后续行。 在向`DataTable`对象添加列和行以保存这些数据之后,就会创建`WorkBook`对象。 然后创建[`WorkSheet`](/csharp/excel/object-reference/api/IronXL.WorkSheet.html)对象,并将其添加到`WorkBook`对象中。 使用`foreach`循环读取`DataTable`中的每个值,然后将其添加到`WorkSheet` 。 将所有值添加到工作表后, [`SaveAsCsv`](/csharp/excel/object-reference/api/IronXL.WorkBook.html#IronXL_WorkBook_SaveAsCsv_System_String_System_String_)方法会将它们保存到 CSV 文件中。您可以将分隔符和文件位置都指定为参数。 对于更复杂的场景,您可能需要[将多个数据表导出为不同的工作表](/csharp/excel/how-to/export-dataset-datatable/),或者使用[数据集](/csharp/excel/examples/excel-sql-dataset/)进行更结构化的数据组织。 ### 使用不同的 CSV 格式 IronXL 在处理 CSV 文件时提供了灵活性。 以下示例展示了如何导出带有自定义格式和编码的`DataTable` : ```cs // 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); } ``` 这种方法可以让你更好地控制导出过程,允许你[设置单元格数据格式](/csharp/excel/how-to/set-cell-data-format/)并自定义输出结构。 ! [Excel 电子表格显示 A 列中的水果列表(苹果、橙子、草莓、葡萄、西瓜、香蕉、柠檬),采用正确的 CSV 格式,没有额外的分隔符。](/static-assets/excel/blog/csharp-export-csv-tutorial/csharp-export-csv-tutorial-9.webp) **输出 CSV 文件** 上面显示的是运行代码示例的输出结果。 在截图中,数据表中的每一条数据都被单独添加到新生成的 Excel 表格中。 您还可以在导出之前对单元格[应用格式](/csharp/excel/examples/excel-style-cells-borders-fonts/),或[添加公式](/csharp/excel/examples/excel-formulas-csharp/)以计算值。 对于更高级的 CSV 操作,您可以: -[读取带有自定义分隔符的 CSV 文件](/csharp/excel/how-to/csharp-read-csv-file/) - 以特定编码[写入 CSV 文件](/csharp/excel/how-to/csharp-write-to-csv-file/) -[在不同的电子表格格式之间进行转换](/csharp/excel/how-to/convert-spreadsheet-file-types/) -[导出为 JSON 或 XML](/csharp/excel/how-to/csharp-convert-xlsx-to-csv/)格式 要了解有关 IronXL 教程的更多信息,请点击[此链接了解如何导出到 Excel 格式](/csharp/excel/how-to/c-sharp-export-to-excel/)。 ## 为什么我应该使用 IronXL 进行 CSV 导出? IronXL是Excel中最受欢迎的工具之一。 它不依赖于任何其他外部来源的库。 它是独立运行的,无需安装微软Excel。 它通过多个渠道运营。 IronXL 提供了一个一体化解决方案,用于以编程方式实现所有与 Microsoft Excel 文档相关的任务。 您可以执行[公式计算](/csharp/excel/how-to/math-functions/)、[字符串或数字排序](/csharp/excel/how-to/sort-cells/)、[修剪和追加](/csharp/excel/how-to/trim-cell-range/)、查找和替换、[合并和取消合并](/csharp/excel/how-to/csharp-excel-merge-cells/)、保存文件等操作。您还可以[设置单元格数据格式](/csharp/excel/examples/excel-number-formats/)并验证电子表格数据。 它还支持读写 CSV 文件,帮助您像处理 Excel 数据一样处理数据。 其他福利包括: - 敏感数据导出[密码保护](/csharp/excel/how-to/set-password-workbook/) - 针对大型数据集[的性能优化](/csharp/excel/product-updates/milestones-performance/) - 支持在导出为 CSV 文件之前在 Excel 中进行[条件格式设置](/csharp/excel/how-to/conditional-formatting/) - 支持[命名范围](/csharp/excel/how-to/named-range/)和[命名表](/csharp/excel/how-to/named-table/) - 以支持的格式保留[超链接](/csharp/excel/how-to/hyperlinks/) [IronXL 的](/csharp/excel/)起售价为$799 。 它还为用户提供支付一年订阅费以获得产品支持和更新的选项。 IronXL 提供额外付费的无限制再分发安全保障。 如需了解更详细的定价信息,请访问此[许可页面](/csharp/excel/licensing/)。 常见问题解答 我如何在 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 机器人,将他对技术的热爱与创造力相结合。 相关文章 已发布一月 21, 2026 C# CSV 库:IronXL,用于读取、写入和 Excel 转换 学习使用 IronXL 作为您的 C# CSV 库。读取、写入并在 CSV 和 Excel 格式之间转换,伴有简单代码示例。 阅读更多 已发布一月 21, 2026 C# 将 CSV 文件读取到 DataTable:完整开发者指南 学习如何在 C# 中使用 IronXL 有效地将 CSV 文件读取到 DataTable。包括 CSV 解析和数据库导入的简单代码示例。 阅读更多 已发布一月 21, 2026 使用 IronXL 在 VB.NET 中打开 Excel 文件 - 无需 Office 互操作 学习在 VB.NET 中无需 Microsoft Office 打开和读取 Excel 文件。通过 IronXL 的简单教程及工作代码示例处理 XLSX/XLS。 阅读更多 如何从 Excel 文件中获取单元格值在 C# 中如何在 C# 中导入 Excel 文件
已发布一月 21, 2026 C# CSV 库:IronXL,用于读取、写入和 Excel 转换 学习使用 IronXL 作为您的 C# CSV 库。读取、写入并在 CSV 和 Excel 格式之间转换,伴有简单代码示例。 阅读更多
已发布一月 21, 2026 C# 将 CSV 文件读取到 DataTable:完整开发者指南 学习如何在 C# 中使用 IronXL 有效地将 CSV 文件读取到 DataTable。包括 CSV 解析和数据库导入的简单代码示例。 阅读更多
已发布一月 21, 2026 使用 IronXL 在 VB.NET 中打开 Excel 文件 - 无需 Office 互操作 学习在 VB.NET 中无需 Microsoft Office 打开和读取 Excel 文件。通过 IronXL 的简单教程及工作代码示例处理 XLSX/XLS。 阅读更多