使用 IRONXL 如何在 C# 中写入 CSV 文件 Curtis Chau 已更新:六月 22, 2025 下载 IronXL NuGet 下载 DLL 下载 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在双子座打开 向 Gemini 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 本文将探讨如何使用 IronXL 编写 CSV 文件。 IronXL库 IronXL是一个 .NET Excel 库,它为在 C# 应用程序中创建、读取和编辑电子表格文件提供了全面的功能。 它的性能和输出精度都非常出色。 它支持多种电子表格工作簿文件格式,例如 XLS、XLSX、XLSM、CSV 和 TSV。此外,它还允许您将 Excel 文件中的数据保存或导出为 CSV、JSON、HTML、二进制、字节数组、数据集或数据表等格式。 借助 IronXL,开发人员可以无缝地处理工作表和单元格区域,从而为数据操作提供了一种优雅的方法。 它允许轻松编辑公式,并方便在工作表中重新计算公式。 按范围、列或行对数据进行排序非常简单。 您还可以通过冻结窗格、自动调整行/列大小以及添加/删除行/列来修改布局。 IronXL 提供使用用户密码保护 Excel 文件并设置编辑权限的功能。 此外,它还提供了在 Excel 工作表中添加、删除和提取图像的功能。 该库包含各种 Excel 函数,支持多种单元格数据格式。 这使得 IronXL 成为处理 Excel 文件最直观的 API 之一。 IronXL 的一个显著优势在于它无需在计算机上安装 Microsoft Excel 或 Office Interop 依赖项。它是一个独立的解决方案,可跨多个平台运行,并兼容 .NET 7、6 和 5 版本。此外,它还支持 .NET Core 2 和 3 以及标准的 .NET 2 版本。 IronXL 与 .NET Framework 4.5 及更高版本兼容,可用于处理 Excel 电子表格。 创建控制台应用程序 建议使用最新版本的 Visual Studio 来创建应用程序。 Visual Studio 是 C# 开发的官方 IDE,您必须安装它。 如果尚未安装,您可以从Microsoft Visual Studio 网站下载。 以下步骤将创建一个名为"DemoApp"的新项目。 打开 Visual Studio 并点击"创建新项目"。 如何在 C# 中将数据写入 CSV 文件,图 1:打开 Visual Studio 打开 Visual Studio 选择控制台应用程序,然后单击"下一步"。 如何在 C# 中将数据写入 CSV 文件,图 2:在 Visual Studio 中创建一个新项目 在 Visual Studio 中创建新项目 设置项目名称 如何在 C# 中将数据写入 CSV 文件,图 3:配置新项目 配置新项目 选择 .NET 版本。 选择稳定版本 .NET 6.0。 如何在 C# 中将数据写入 CSV 文件,图 4:.NET Framework 选择 .NET Framework 选择 安装 IronXL 库 项目创建完成后,需要将 IronXL 库安装到项目中才能使用它。 按照以下步骤安装。 从解决方案资源管理器或工具中打开 NuGet 包管理器。 如何在 C# 中将数据写入 CSV 文件,图 5:导航到 NuGet 包管理器 导航到 NuGet 包管理器 浏览 IronXL 库并选择当前项目。 点击安装。 如何在 C# 中将数据写入 CSV 文件,图 6:在 NuGet 包管理器 UI 中搜索并安装 IronXL 包 在 NuGet 包管理器 UI 中搜索并安装 IronXL 包 在Program.cs文件顶部添加以下命名空间: using IronXL; using IronXL; Imports IronXL $vbLabelText $csharpLabel 在 C# 中创建新工作簿 IronXL 提供了创建空白工作簿的功能。 工作簿是包含多个工作表的电子表格。 数据存储在单元格中。 CSV 文件看起来也像电子表格,但文件扩展名为 CSV。 // Creates a new instance of WorkBook Spreadsheet WorkBook workBook = WorkBook.Create(); // Creates a new instance of WorkBook Spreadsheet WorkBook workBook = WorkBook.Create(); ' Creates a new instance of WorkBook Spreadsheet Dim workBook As WorkBook = WorkBook.Create() $vbLabelText $csharpLabel 现在,让我们在WorkBook中创建一个工作表。 在工作簿中创建工作表的方法有很多种。 // Adds a default sheet to the workbook WorkSheet defaultSheet = workBook.DefaultWorkSheet; // Creates a worksheet with the name "Sheet1" WorkSheet sheet = workBook.CreateWorkSheet("Sheet1"); // Adds a default sheet to the workbook WorkSheet defaultSheet = workBook.DefaultWorkSheet; // Creates a worksheet with the name "Sheet1" WorkSheet sheet = workBook.CreateWorkSheet("Sheet1"); ' Adds a default sheet to the workbook Dim defaultSheet As WorkSheet = workBook.DefaultWorkSheet ' Creates a worksheet with the name "Sheet1" Dim sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1") $vbLabelText $csharpLabel 如果要向现有工作簿添加更多工作表,请使用CreateWorkSheet方法。 注意:如果 CSV 文件已存在,则可以使用WorkBook.LoadCSV方法。 您可以查看此代码示例页面,了解如何加载现有的 CSV 文件。 将数据写入WorkSheet 使用 IronXL 编写 CSV 文件非常简单。 它提供将数据写入 CSV 文件的 Excel 功能。可以使用单元格引用将值添加到指定位置。 接下来,我将使用foreach循环添加一些员工记录。 // Initialize an array of employee names string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" }; // Starting row for data entry int i = 2; // Setting header titles for the columns sheet["A1"].Value = "ID"; sheet["B1"].Value = "Name"; sheet["C1"].Value = "Salary"; // Populate each row with employee data foreach (var employee in employeeNames) { // Set values for ID, Name, and Salary sheet["A" + i].Value = i; sheet["B" + i].Value = employee; sheet["C" + i].Value = i * 1000; i++; } // Initialize an array of employee names string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" }; // Starting row for data entry int i = 2; // Setting header titles for the columns sheet["A1"].Value = "ID"; sheet["B1"].Value = "Name"; sheet["C1"].Value = "Salary"; // Populate each row with employee data foreach (var employee in employeeNames) { // Set values for ID, Name, and Salary sheet["A" + i].Value = i; sheet["B" + i].Value = employee; sheet["C" + i].Value = i * 1000; i++; } ' Initialize an array of employee names Dim employeeNames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" } ' Starting row for data entry Dim i As Integer = 2 ' Setting header titles for the columns sheet("A1").Value = "ID" sheet("B1").Value = "Name" sheet("C1").Value = "Salary" ' Populate each row with employee data For Each employee In employeeNames ' Set values for ID, Name, and Salary sheet("A" & i).Value = i sheet("B" & i).Value = employee sheet("C" & i).Value = i * 1000 i += 1 Next employee $vbLabelText $csharpLabel 在上面的代码示例中,创建了一个employeeNames数组,第一行设置了标题:ID、Name、Salary。 变量i也被初始化为值 2,它将从标题下方的第二行开始输入记录。 foreach循环处理列表中的每个员工,并将他们及其 ID 和薪资值添加到当前行。 在循环结束之前, i递增,以便移动到下一行,处理下一条记录。 将数据保存到 CSV 文件 最后一步是保存 CSV 文件。IronXL 提供了SaveAsCsv方法,用于将工作簿保存为 CSV 文件。此方法的第一个参数是 CSV 文件名,第二个参数是分隔符。 // Save the modified workbook as a CSV file with a specified delimiter workBook.SaveAsCsv("sample.csv", ","); // Save the modified workbook as a CSV file with a specified delimiter workBook.SaveAsCsv("sample.csv", ","); ' Save the modified workbook as a CSV file with a specified delimiter workBook.SaveAsCsv("sample.csv", ",") $vbLabelText $csharpLabel 完整代码如下: using System; using IronXL; class Program { static void Main() { // Create a new workbook and worksheet WorkBook workBook = WorkBook.Create(); WorkSheet sheet = workBook.CreateWorkSheet("Sheet1"); // Initialize an array of employee names string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" }; // Starting row for data entry int i = 2; // Setting header titles for the columns sheet["A1"].Value = "ID"; sheet["B1"].Value = "Name"; sheet["C1"].Value = "Salary"; // Populate each row with employee data foreach (var employee in employeeNames) { // Set values for ID, Name, and Salary sheet["A" + i].Value = i; sheet["B" + i].Value = employee; sheet["C" + i].Value = i * 1000; i++; } // Save the modified workbook as a CSV file with a specified delimiter workBook.SaveAsCsv("sample.csv", ","); } } using System; using IronXL; class Program { static void Main() { // Create a new workbook and worksheet WorkBook workBook = WorkBook.Create(); WorkSheet sheet = workBook.CreateWorkSheet("Sheet1"); // Initialize an array of employee names string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" }; // Starting row for data entry int i = 2; // Setting header titles for the columns sheet["A1"].Value = "ID"; sheet["B1"].Value = "Name"; sheet["C1"].Value = "Salary"; // Populate each row with employee data foreach (var employee in employeeNames) { // Set values for ID, Name, and Salary sheet["A" + i].Value = i; sheet["B" + i].Value = employee; sheet["C" + i].Value = i * 1000; i++; } // Save the modified workbook as a CSV file with a specified delimiter workBook.SaveAsCsv("sample.csv", ","); } } Imports System Imports IronXL Friend Class Program Shared Sub Main() ' Create a new workbook and worksheet Dim workBook As WorkBook = WorkBook.Create() Dim sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1") ' Initialize an array of employee names Dim employeeNames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" } ' Starting row for data entry Dim i As Integer = 2 ' Setting header titles for the columns sheet("A1").Value = "ID" sheet("B1").Value = "Name" sheet("C1").Value = "Salary" ' Populate each row with employee data For Each employee In employeeNames ' Set values for ID, Name, and Salary sheet("A" & i).Value = i sheet("B" & i).Value = employee sheet("C" & i).Value = i * 1000 i += 1 Next employee ' Save the modified workbook as a CSV file with a specified delimiter workBook.SaveAsCsv("sample.csv", ",") End Sub End Class $vbLabelText $csharpLabel 输出 如何在 C# 中将数据写入 CSV 文件,图 7:输出的 CSV 文件 输出 CSV 文件 摘要 本文介绍了一种使用 IronXL 在 C# 中编写 CSV 文件的简单方法。 IronXL 还提供了轻松处理现有 CSV 文件的功能。 它还允许您写入 CSV 文件、创建新的 Excel 文件,并使用简单的语法向其中写入数据。 即使没有安装 Microsoft Office,IronXL 也可以用于读取和写入 Excel 文件。 对于不同电子表格格式之间的转换,您可以查看此代码示例页面。 IronXL 免费供开发使用,并可获得商业用途许可证。 您也可以尝试 IronXL 的商业用途免费试用版。 常见问题解答 如何在C#中将数据写入CSV文件? 您可以使用IronXL的`SaveAsCsv`方法将数据导出为CSV文件。首先,创建一个工作簿和工作表,将数据写入单元格,然后使用`workBook.SaveAsCsv("filename.csv", ",");`将数据保存为CSV文件。 创建一个用于写入CSV文件的控制台应用程序有什么步骤? 要创建一个用于写入CSV文件的控制台应用程序,请在Visual Studio中建立一个新项目,选择适当的.NET版本,并通过NuGet包管理器安装IronXL。然后,使用IronXL创建一个工作簿,向工作表添加数据,并将其保存为CSV。 可以不使用Microsoft Excel写入CSV文件吗? 是的,您可以使用IronXL在不需要Microsoft Excel的情况下写入CSV文件。它允许程序化地操作Excel和CSV文件而无需安装Excel。 如何在 Visual Studio 项目中安装 IronXL? 您可以通过在Visual Studio中打开NuGet包管理器,搜索'IronXL',并点击'Install'将其添加到您的项目中来安装IronXL。这将使您能够利用IronXL的功能来处理Excel和CSV文件。 IronXL支持哪些文件格式导出? IronXL支持将数据导出到多种格式,包括CSV、JSON、HTML、二进制、字节数组、DataSet和DataTable,这使其在不同的数据处理需求中具有通用性。 IronXL与不同的.NET版本兼容吗? 是的,IronXL与多个.NET版本兼容,包括.NET Core 2和3,以及.NET 5、6和7,使开发人员在不同的开发环境中具有灵活性。 我可以将IronXL用于商业项目吗? 是的,IronXL可以被许可用于商业用途。它还提供免费试用以用于开发,使开发人员能够在投入商业许可之前测试其功能。 如何在C#中使用IronXL创建新的工作簿和工作表? 您可以使用`WorkBook.Create()`来初始化一个工作簿对象,然后向其中添加一个新的工作表。这使您可以开始向工作表中写入数据。 IronXL需要任何Office Interop依赖项吗? 不,IronXL是一个独立的库,不需要任何Office Interop依赖项,使其易于在不同平台上的应用程序中使用和部署。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已发布十二月 19, 2025 如何使用 C# Interop 与 IronXL.Excel 在 Excel 中创建透视表 无需 Office 依赖在 C# 中构建 Excel 数据透视表。IronXL 提供强大的数据处理功能,用于创建透视风格的报告,无需 Excel Interop 复杂化。 阅读更多 已发布十二月 18, 2025 C# 使用 IronXL.Excel 将带列标题的 DataGridView 导出到 Excel 学习如何在将DataGridView数据导出到Excel时保留列头。使用IronXL库的C#逐步教程。 阅读更多 已发布十二月 18, 2025 如何在 C# 中使用 IronXL 创建 Excel 报告 在 C# 中使用 IronXL 进行 Excel 报告生成。学习构建具有格式、公式和数据库集成的专业报告。 阅读更多 如何在 ASP.NET 中查看 Excel如何在 C# 中使用 Excel 单元...
已发布十二月 19, 2025 如何使用 C# Interop 与 IronXL.Excel 在 Excel 中创建透视表 无需 Office 依赖在 C# 中构建 Excel 数据透视表。IronXL 提供强大的数据处理功能,用于创建透视风格的报告,无需 Excel Interop 复杂化。 阅读更多
已发布十二月 18, 2025 C# 使用 IronXL.Excel 将带列标题的 DataGridView 导出到 Excel 学习如何在将DataGridView数据导出到Excel时保留列头。使用IronXL库的C#逐步教程。 阅读更多
已发布十二月 18, 2025 如何在 C# 中使用 IronXL 创建 Excel 报告 在 C# 中使用 IronXL 进行 Excel 报告生成。学习构建具有格式、公式和数据库集成的专业报告。 阅读更多