使用 IRONXL 如何在 C# 中将 `DataTable` 导出为 CSV 文件 Curtis Chau 已更新:2026年1月19日 下载 IronXL NuGet 下载 DLL 下载 免费试用 LLM副本 LLM副本 将页面复制为 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 中创建新项目 之后,输入项目名称和地点。 配置新项目 接下来,选择以下结构。 本项目将使用.NET Core 6。 选择.NET Framework版本 应用程序生成解决方案后,将打开 program.cs 文件,以便您可以输入程序代码并构建/运行应用程序。 新创建的控制台应用程序项目 然后就可以添加该库并使用它来评估代码。 对于其他项目类型,例如.NET MAUI应用程序或VB .NET项目,该过程类似,但需要考虑框架特定的因素。 如何安装 IronXL 库? 下载和安装 IronXL 库有四种方法。 其中包括: 通过 Visual Studio 安装 使用 Visual Studio 包管理器控制台进行安装 直接从 NuGet 网站下载 直接从 IronXL 网站下载 我应该使用哪种方法安装 Visual Studio? 使用 NuGet 包管理器可以安装 IronXL 模块。 要找到 IronXL,您必须先启动 NuGet 包管理器,然后在浏览窗格中查找。 从搜索结果中选择 IronXL 进行安装。 之后,IronXL 库就可以使用这个应用程序了。 下图演示了如何启动 Visual Studio 的 NuGet 包管理器。 导航到 NuGet 包管理器 在 NuGet 包管理器 UI 中安装 IronXL 包 何时应该使用软件包管理器控制台? 许多开发者更喜欢使用控制台来执行任务。 因此,终端安装也是一种选择。 要使用命令行安装 IronXL,请按照以下说明操作。 在 Visual Studio 中,导航至"工具" > "NuGet 包管理器" >"包管理器界面"。 在软件包管理器的控制台选项卡中输入以下命令: Install-Package IronXl.Excel 等待 IronXL 下载并安装到当前项目中。 在软件包管理器控制台界面中安装 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 类和方法。 添加通用命名空间 可以使用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, ";"); } $vbLabelText $csharpLabel 上述代码将 DataTable 导出到 Excel 文件。创建 DataTable 后,会自动创建列标题。 然后,在确定第一列之后,逐行添加后续行。 在向 DataTable 对象添加列和行以保存这些数据之后,创建 WorkBook 对象。 然后构造WorkSheet对象,并将其添加到 WorkBook 对象中。 使用 DataTable 循环读取并添加 foreach 中的每个值,然后再将该值添加到 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); } $vbLabelText $csharpLabel 这种方法可以让你更好地控制导出过程,允许你设置单元格数据格式并自定义输出结构。 输出 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年3月1日 在.NET C# 中下载 Excel 文件:将数据导出为 XLSX、CSV 等格式 使用 C# 和IronXL在ASP.NET Core中下载 Excel 文件。从 MVC 控制器导出数据到 XLSX、CSV 和 XML 格式,并返回 MemoryStream 和 File() 函数。包含代码示例。 阅读更多 已更新2026年3月1日 如何在Blazor中使用IronXL导出 Excel 文件 学习如何使用IronXL在Blazor Server 应用程序中将数据导出到 Excel。本指南涵盖项目设置、服务设计、条件格式设置、多工作表报表和错误处理,并提供完整的 C# 代码示例。 阅读更多 已更新2026年2月27日 如何在 C# 中读取 Excel 文件而不是使用 StreamReader 了解为什么 StreamReader 无法读取 Excel 文件,以及如何在 C# .NET中使用IronXL从磁盘或内存流加载 XLSX 和 XLS 工作簿。 阅读更多 如何从 Excel 文件中获取单元格值在 C# 中如何在 C# 中导入 Excel 文件
已更新2026年3月1日 在.NET C# 中下载 Excel 文件:将数据导出为 XLSX、CSV 等格式 使用 C# 和IronXL在ASP.NET Core中下载 Excel 文件。从 MVC 控制器导出数据到 XLSX、CSV 和 XML 格式,并返回 MemoryStream 和 File() 函数。包含代码示例。 阅读更多
已更新2026年3月1日 如何在Blazor中使用IronXL导出 Excel 文件 学习如何使用IronXL在Blazor Server 应用程序中将数据导出到 Excel。本指南涵盖项目设置、服务设计、条件格式设置、多工作表报表和错误处理,并提供完整的 C# 代码示例。 阅读更多
已更新2026年2月27日 如何在 C# 中读取 Excel 文件而不是使用 StreamReader 了解为什么 StreamReader 无法读取 Excel 文件,以及如何在 C# .NET中使用IronXL从磁盘或内存流加载 XLSX 和 XLS 工作簿。 阅读更多