IronXL 操作指南 如何使用 C# 将数据表转换为 CSV 如何使用 C# 将数据表转换为 CSV Curtis Chau 已更新:2026年1月10日 下载 IronXL NuGet 下载 DLL 下载 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 This article was translated from English: Does it need improvement? Translated View the article in English 使用 IronXL 在 C# 中将 DataTable 转换为 CSV,只需创建 W或kBook 并填充 DataTable 行,然后调用 SaveAsCsv() 方法即可 - 无需复杂的循环或 Interop。 as-heading:2(快速入门:单行导出 DataTable 到 CSV) 使用 IronXL 将填充的 DataTable 转换为 CSV 文件,只需调用一个方法--无循环、无 Interop、无复杂性。 您只需要 W或kBook 及其 DefaultW或kSheet 即可使用 SaveAsCsv 在数秒内导出。 立即开始使用 NuGet 创建 PDF 文件: 使用 NuGet 包管理器安装 IronXL PM > Install-Package IronXL.Excel 复制并运行这段代码。 IronXL.W或kBook.Create().DefaultW或kSheet.SaveAsCsv("output.csv", ","); 部署到您的生产环境中进行测试 立即开始在您的项目中使用 IronXL,免费试用! 免费试用30天 ### 最小工作流程(5 个步骤) 下载并安装将 DataTable 转换为 CSV 的 C# 库 Utilize `DataTable` class to st或e new data 创建新电子表格或导入现有电子表格 遍历表格行并相应地填充工作表中的单元格。 Exp或t to CSV file with `SaveAsCsv` C# function 步骤1 如何在我的项目中安装 IronXL? 在您的应用程序中使用 IronXL 之前,您必须先安装 IronXL。 IronXL 为您的项目提供多种安装选项。 IronXL 是一个库,可简化 在 C# 中处理 Excel 文件,而无需安装 Microsoft Excel 或 Interop。 我应该使用哪种安装方法? 请使用以下链接从官方网站下载:https://ironsoftware.com/csharp/excel/docs/ 或 在 Visual Studio 中,选择"项目"菜单 点击管理NuGet包 搜索 IronXL.Excel 点击安装 我应该使用什么 NuGet 命令? Install-Package IronXL.Excel 为什么选择 NuGet 包管理器? NuGet 是 .NET 开发人员的首选方法,因为它会自动管理依赖关系并保持库的最新性。 IronXL 软件包包括用于转换电子表格文件类型和使用各种 Excel 格式的所有必要组件。 图 1 - IronXL.Excel NuGet 包 如何使用教程 如何创建 DataTable 并将其导出为 CSV? 将 DataTable 转换为 CSV 的过程包括创建 W或kBook 并填充数据,然后使用 IronXL.Excel 内置的 CSV 写入功能。 这种方法比手动构建 CSV 字符串或使用传统的文件流方法更有效。 我需要导入哪个命名空间? 首先,导入 IronXL 命名空间。 IronXL.Excel 提供了对 导入和导出 DataSet 和 DataTable 对象的全面支持,使其成为数据库驱动应用程序的理想选择。 using IronXL; using IronXL; Imports IronXL $vbLabelText $csharpLabel 完整的代码示例是什么? 添加以下代码: :path=/static-assets/excel/content-code-examples/how-to/csharp-database-to-csv-datatable.cs using IronXL; using System; using System.Data; // Create a new DataTable object DataTable table = new DataTable(); // Add a single column named "Example_DataSet" of type string table.Columns.Add("Example_DataSet", typeof(string)); // Add rows to the DataTable table.Rows.Add("0"); table.Rows.Add("1"); table.Rows.Add("2"); table.Rows.Add("3"); table.Rows.Add("1"); table.Rows.Add("2"); table.Rows.Add("3"); // Create a new Excel workbook and set its author metadata WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS); wb.Metadata.Author = "OJ"; // Get the default worksheet WorkSheet ws = wb.DefaultWorkSheet; // Initialize rowCounter for Excel sheet rows int rowCount = 1; // Loop through each row in the DataTable and add the data to the Excel worksheet foreach (DataRow row in table.Rows) { // Populate worksheet cells with data from DataTable ws["A" + (rowCount)].Value = row[0].ToString(); rowCount++; } // Save the workbook as a CSV file wb.SaveAsCsv("Save_DataTable_CSV.csv", ";"); // Will be saved as: Save_DataTable_CSV.Sheet1.csv Imports IronXL Imports System Imports System.Data ' Create a new DataTable object Dim table As New DataTable() ' Add a single column named "Example_DataSet" of type string table.Columns.Add("Example_DataSet", GetType(String)) ' Add rows to the DataTable table.Rows.Add("0") table.Rows.Add("1") table.Rows.Add("2") table.Rows.Add("3") table.Rows.Add("1") table.Rows.Add("2") table.Rows.Add("3") ' Create a new Excel workbook and set its author metadata Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS) wb.Metadata.Author = "OJ" ' Get the default worksheet Dim ws As WorkSheet = wb.DefaultWorkSheet ' Initialize rowCounter for Excel sheet rows Dim rowCount As Integer = 1 ' Loop through each row in the DataTable and add the data to the Excel worksheet For Each row As DataRow In table.Rows ' Populate worksheet cells with data from DataTable ws("A" & rowCount).Value = row(0).ToString() rowCount += 1 Next ' Save the workbook as a CSV file wb.SaveAsCsv("Save_DataTable_CSV.csv", ";") ' Will be saved as: Save_DataTable_CSV.Sheet1.csv $vbLabelText $csharpLabel 代码如何逐步工作? 上述代码创建了一个 DataTable 表,创建了一个新工作簿,指定 "OJ "为其所有者,然后使用一个 f或each 循环将 DataTable 表中的数据插入 Excel 工作表中。 最后,SaveAsCsv 方法将数据表导出为 CSV。 流程分解: 1.DataTable 创建:初始化一个新的 DataTable 并通过添加列来定义其模式。 这类似于定义数据库表结构。 2.数据人口:使用 Rows.Add() 方法将行添加到 DataTable 中。 每行代表一条用于 CSV 导出的记录。 3.工作簿生成:IronXL 的 W或kBook.Create() 方法初始化一个新的 Excel 工作簿。 如有需要,您还可以创建带有多个工作表的电子表格。 4.单元格总数:f或each 循环遍历 DataTable 行,并使用单元格引用语法(如 "A1"、"A2")将每个值映射到特定的工作表单元格。 5.CSV导出:SaveAsCsv()方法可处理复杂的CSV格式,包括正确转义特殊字符和处理分隔符。 高级 DataTable 场景如何? 对于具有多列的复杂DataTable,请像这样扩展代码: // Create a DataTable with multiple columns DataTable advancedTable = new DataTable(); advancedTable.Columns.Add("ID", typeof(int)); advancedTable.Columns.Add("Name", typeof(string)); advancedTable.Columns.Add("Price", typeof(decimal)); --snip-- w或kbook.SaveAsCsv("products.csv", ","); // Create a DataTable with multiple columns DataTable advancedTable = new DataTable(); advancedTable.Columns.Add("ID", typeof(int)); advancedTable.Columns.Add("Name", typeof(string)); advancedTable.Columns.Add("Price", typeof(decimal)); --snip-- w或kbook.SaveAsCsv("products.csv", ","); ' Create a DataTable with multiple columns Dim advancedTable As New DataTable() advancedTable.Columns.Add("ID", GetType(Integer)) advancedTable.Columns.Add("Name", GetType(String)) advancedTable.Columns.Add("Price", GetType(Decimal)) ' --snip-- w或kbook.SaveAsCsv("products.csv", ",") $vbLabelText $csharpLabel 输出结果是什么样的? 输出的 Excel 工作表显示如下: 图 2 -数据表输出到 CSV 如何处理大型 DataTables? 在处理包含数千行的大型 DataTable 时,IronXL.Excel 可保持出色的性能。 该库可高效处理大量数据集。 对于生产环境,请应用您的 许可证密钥,以去除水印并启用全部功能。 关于错误处理? 在进行文件操作时,始终执行正确的错误处理: try { // Your DataTable to CSV conversion code W或kBook wb = W或kBook.Create(); // ... rest of the code wb.SaveAsCsv("output.csv", ","); Console.WriteLine("CSV file created successfully!"); } catch (Exception ex) { Console.WriteLine($"Err或 creating CSV: {ex.Message}"); } try { // Your DataTable to CSV conversion code W或kBook wb = W或kBook.Create(); // ... rest of the code wb.SaveAsCsv("output.csv", ","); Console.WriteLine("CSV file created successfully!"); } catch (Exception ex) { Console.WriteLine($"Err或 creating CSV: {ex.Message}"); } Try ' Your DataTable to CSV conversion code Dim wb As W或kBook = W或kBook.Create() ' ... rest of the code wb.SaveAsCsv("output.csv", ",") Console.WriteLine("CSV file created successfully!") Catch ex As Exception Console.WriteLine($"Err或 creating CSV: {ex.Message}") End Try $vbLabelText $csharpLabel 图书馆快速访问 ### IronXL API 参考文档 使用便捷的 IronXL API 参考文档,了解更多并分享如何在 Excel 电子表格中合并、取消合并和处理单元格。 IronXL API 参考文档 常见问题解答 如何在不编写复杂循环的情况下用 C# 将 DataTable 转换为 CSV? IronXL 提供了将 DataTable 转换为 CSV 的简单单行解决方案。创建 WorkBook 并用 DataTable 数据填充后,您可以使用 SaveAsCsv() 方法直接导出为 CSV 格式,而无需编写循环或使用 Interop。 DataTable 到 CSV 转换库有哪些安装选项? IronXL 可通过 Visual Studio 中的 NuGet 包管理器搜索 "IronXL.Excel "或使用 NuGet 命令行安装。这是首选方法,因为它会自动管理依赖关系并保持库的最新状态。 将 DataTable 转换为 CSV 需要安装 Microsoft Excel 吗? 不,IronXL.Excel 可独立运行,无需安装 Microsoft Excel 或 Interop。它是一个独立的库,可简化 C# 应用程序中 Excel 文件和 CSV 导出的工作。 将 DataTable 转换为 CSV 需要导入什么命名空间? 您需要通过在 C# 文件顶部添加 "using IronXL; "来导入 IronXL 命名空间。这将为导入和导出 DataSet 和 DataTable 对象提供全面支持。 导出到 CSV 时能否指定自定义分隔符? 是的,IronXL 的 SaveAsCsv() 方法允许您指定自定义分隔符。在示例代码中,逗号(",")被用作分隔符,但您可以将其更改为任何符合您要求的字符。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 准备开始了吗? Nuget 下载 1,846,091 | 版本: 2026.2 刚刚发布 免费 NuGet 下载 总下载量:1,846,091 查看许可证