使用 IRONXL C# CSV 库:用于读取、写入和 Excel 转换的 IronXL.Excel Curtis Chau 已发布:2026年1月21日 下载 IronXL NuGet 下载 DLL 下载 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 在 C# 中处理 CSV 文件通常不仅仅是简单的读取和写入。 开发人员需要可靠的 CSV 文件处理、流畅的数据导入/导出以及与电子表格工作流程的轻松集成。 虽然像 CsvHelper 这样的免费库涵盖了基本的 CSV 操作,但当您需要 Excel 工作簿支持、高性能或对行、列和数据类型的一致处理时,它们有时会显得力不从心。 IronXL通过提供一个能够无缝处理 CSV 和 Excel 格式的单一 .NET 库来解决这些难题,而无需 Microsoft Office。它提供了强大的 CSV 读写功能、自定义类对象映射功能以及逗号分隔值和 Excel 之间的转换功能。 所有这些都以高性能、低内存的工作流程实现,适用于桌面和 Web 应用程序。 如何开始使用 IronXL? 通过NuGet 包管理器安装 IronXL 只需几秒钟。 在 Visual Studio 中打开包管理器控制台并运行: Install-Package IronXL.Excel 安装完成后,将 IronXL 命名空间添加到您的 C# 文件中: using IronXL; using IronXL; Imports IronXL $vbLabelText $csharpLabel IronXL 可在 Windows、Linux 和 macOS 环境下运行,支持 .NET Framework 4.6.2+ 和 .NET Core/5/6/7/8+。 该库无需依赖 Microsoft Office 即可独立运行,因此非常适合服务器部署和云应用程序。 有关详细的安装说明,请访问IronXL 安装指南。 如何使用 IronXL 读取 CSV 文件? IronXL 支持轻松读取 CSV 文件,整个过程遵循直观的模式。 该库会自动处理编码检测和分隔符识别等常见挑战,这些问题是开发人员在解析 CSV 数据时经常遇到的: // Load a CSV file into a WorkBook WorkBook workBook = WorkBook.Load("sales_data.csv"); // Access the imported worksheet WorkSheet workSheet = workBook.DefaultWorkSheet; // Read specific cell values string customerName = workSheet["A2"].StringValue; decimal orderAmount = workSheet["B2"].DecimalValue; // iterating from row 1 to skip the header row for (int i = 1; i < workSheet.Rows.Count(); i++) { var row = workSheet.Rows[i]; Console.WriteLine($"Customer: {row.Columns[0].Value}, Amount: {row.Columns[1].Value}"); } // Load a CSV file into a WorkBook WorkBook workBook = WorkBook.Load("sales_data.csv"); // Access the imported worksheet WorkSheet workSheet = workBook.DefaultWorkSheet; // Read specific cell values string customerName = workSheet["A2"].StringValue; decimal orderAmount = workSheet["B2"].DecimalValue; // iterating from row 1 to skip the header row for (int i = 1; i < workSheet.Rows.Count(); i++) { var row = workSheet.Rows[i]; Console.WriteLine($"Customer: {row.Columns[0].Value}, Amount: {row.Columns[1].Value}"); } ' Load a CSV file into a WorkBook Dim workBook As WorkBook = WorkBook.Load("sales_data.csv") ' Access the imported worksheet Dim workSheet As WorkSheet = workBook.DefaultWorkSheet ' Read specific cell values Dim customerName As String = workSheet("A2").StringValue Dim orderAmount As Decimal = workSheet("B2").DecimalValue ' iterating from row 1 to skip the header row For i As Integer = 1 To workSheet.Rows.Count() - 1 Dim row = workSheet.Rows(i) Console.WriteLine($"Customer: {row.Columns(0).Value}, Amount: {row.Columns(1).Value}") Next i $vbLabelText $csharpLabel 这段代码将 CSV 文件加载到 WorkBook 对象中,从而提供完整的电子表格功能。 DefaultWorkSheet 属性可直接访问 CSV 数据。 可以使用熟悉的 Excel 表示法(例如"A2")访问单个单元格,内置的类型转换方法(StringValue、DecimalValue、IntValue)可确保正确的数据处理。 for 循环演示了行迭代,将每一行视为单元格的集合。 我们使用了一个循环,它会自动跳过第一行,因为它是标题行; 但是,如果您想将标题保留在输出中,只需使用: foreach (var row in workSheet.Rows) { Console.WriteLine($"{row.Columns[0].Value}, {row.Columns[1].Value}"); } foreach (var row in workSheet.Rows) { Console.WriteLine($"{row.Columns[0].Value}, {row.Columns[1].Value}"); } For Each row In workSheet.Rows Console.WriteLine($"{row.Columns(0).Value}, {row.Columns(1).Value}") Next $vbLabelText $csharpLabel 对于更复杂的场景,请查阅完整的阅读教程。 输出 如何使用 C# CSV 库读写文件:图 1 - 读取 CSV 文件输出 对于高级场景,开发人员可以通过遍历每一行并将单元格值分配给对象属性,将 CSV 行映射到自定义类对象。 这种方法为在 C# 中处理结构化数据提供了一种简洁的方式。 如何在C#中写入CSV文件? 使用 IronXL 创建 CSV 文件支持多种方法,从构建新的电子表格到转换现有数据结构。 这种灵活性使其成为数据导出场景的理想选择: // Create a new workbook WorkBook workBook = WorkBook.Create(); WorkSheet workSheet = workBook.CreateWorkSheet("inventory"); // Add header row workSheet["A1"].Value = "Product"; workSheet["B1"].Value = "Quantity"; workSheet["C1"].Value = "Price"; // Add data rows workSheet["A2"].Value = "Widget"; workSheet["B2"].Value = 100; workSheet["C2"].Value = 19.99; // Save as CSV workBook.SaveAsCsv("inventory.csv"); // Create a new workbook WorkBook workBook = WorkBook.Create(); WorkSheet workSheet = workBook.CreateWorkSheet("inventory"); // Add header row workSheet["A1"].Value = "Product"; workSheet["B1"].Value = "Quantity"; workSheet["C1"].Value = "Price"; // Add data rows workSheet["A2"].Value = "Widget"; workSheet["B2"].Value = 100; workSheet["C2"].Value = 19.99; // Save as CSV workBook.SaveAsCsv("inventory.csv"); ' Create a new workbook Dim workBook As WorkBook = WorkBook.Create() Dim workSheet As WorkSheet = workBook.CreateWorkSheet("inventory") ' Add header row workSheet("A1").Value = "Product" workSheet("B1").Value = "Quantity" workSheet("C1").Value = "Price" ' Add data rows workSheet("A2").Value = "Widget" workSheet("B2").Value = 100 workSheet("C2").Value = 19.99 ' Save as CSV workBook.SaveAsCsv("inventory.csv") $vbLabelText $csharpLabel 本示例从头开始创建一个新的工作簿,并向其中填充数据。 SaveAsCsv() 方法将工作表导出为 CSV 格式,自动处理正确的格式和分隔符。 IronXL 在导出过程中保留数据类型,确保数字保持数值形式,而不是将所有内容转换为字符串。 SaveAsCsv 方法支持在需要时使用自定义分隔符。 输出 如何使用 C# CSV 库读写文件:图 2 - 使用 IronXL 新建的 CSV 文件 对于现有数据,IronXL 可以直接转换数据表: DataTable dataTable = GetDataFromDatabase(); WorkBook workBook = WorkBook.Create(); WorkSheet workSheet = workBook.CreateWorkSheet("export"); workSheet.InsertDataTable(dataTable, "A1"); workBook.SaveAsCsv("export.csv"); DataTable dataTable = GetDataFromDatabase(); WorkBook workBook = WorkBook.Create(); WorkSheet workSheet = workBook.CreateWorkSheet("export"); workSheet.InsertDataTable(dataTable, "A1"); workBook.SaveAsCsv("export.csv"); Dim dataTable As DataTable = GetDataFromDatabase() Dim workBook As WorkBook = WorkBook.Create() Dim workSheet As WorkSheet = workBook.CreateWorkSheet("export") workSheet.InsertDataTable(dataTable, "A1") workBook.SaveAsCsv("export.csv") $vbLabelText $csharpLabel IronXL 能否在 CSV 和 Excel 格式之间进行转换? IronXL 的突出特点是 CSV 和 Excel 格式之间的无缝转换。 此功能消除了处理不同文件类型时对单独库的需求,这是开发人员经常讨论的一个需求: // Convert CSV to Excel WorkBook csvWorkBook = WorkBook.Load("data.csv"); csvWorkBook.SaveAs("data.xlsx"); // Convert Excel to CSV WorkBook xlsxWorkBook = WorkBook.Load("report.xlsx"); xlsxWorkBook.SaveAsCsv("report.csv"); // Convert CSV to Excel WorkBook csvWorkBook = WorkBook.Load("data.csv"); csvWorkBook.SaveAs("data.xlsx"); // Convert Excel to CSV WorkBook xlsxWorkBook = WorkBook.Load("report.xlsx"); xlsxWorkBook.SaveAsCsv("report.csv"); ' Convert CSV to Excel Dim csvWorkBook As WorkBook = WorkBook.Load("data.csv") csvWorkBook.SaveAs("data.xlsx") ' Convert Excel to CSV Dim xlsxWorkBook As WorkBook = WorkBook.Load("report.xlsx") xlsxWorkBook.SaveAsCsv("report.csv") $vbLabelText $csharpLabel 这些转换可以保持数据完整性,包括数值类型、日期和公式(如适用)。 将多工作表 Excel 文件转换为 CSV 时,IronXL 会为每个工作表创建单独的 CSV 文件: WorkBook multiSheetWorkBook = WorkBook.Load("multi_sheet.xlsx"); multiSheetWorkBook.SaveAsCsv("output.csv"); // Creates: output.Sheet1.csv, output.Sheet2.csv, etc. WorkBook multiSheetWorkBook = WorkBook.Load("multi_sheet.xlsx"); multiSheetWorkBook.SaveAsCsv("output.csv"); // Creates: output.Sheet1.csv, output.Sheet2.csv, etc. Dim multiSheetWorkBook As WorkBook = WorkBook.Load("multi_sheet.xlsx") multiSheetWorkBook.SaveAsCsv("output.csv") ' Creates: output.Sheet1.csv, output.Sheet2.csv, etc. $vbLabelText $csharpLabel 转换过程能够优雅地处理复杂的Excel功能。 公式会根据其值进行计算,格式会尽可能保留,数据验证规则也会在 Excel 格式中得到维护。 请参阅文档了解更多关于Excel转CSV转换的信息。 如何使用 C# CSV 库读写文件:图 3 - 多页 Excel 文件保存为单独的 CSV 文件 为了比较这些 CSV 文件与原始 .xlsx 文件之间的差异,我们来看一下输出结果。在记事本中打开的 Customers 文件与在 Excel 中查看的 Customers 工作表: 如何使用 C# CSV 库读写文件:图 4 - 原始 Excel 格式文件与转换后的 CSV 文件对比 立即开始使用 IronXL。 免费开始 为什么选择 IronXL 进行 CSV 文件处理? 在评估 C# CSV 库时,开发人员会考虑易用性、功能完整性和长期支持等因素。 IronXL全面满足了这些需求: 如何使用 C# CSV 库读写文件:图 5 - IronXL 与仅支持 CSV 的库的比较表 除了基本的 CSV 操作外,IronXL 还提供企业级功能,例如密码保护的文件处理、单元格样式保留和公式计算。 统一的 API 意味着开发人员只需学习一个库即可满足所有电子表格需求,从而降低处理多种文件格式的项目的复杂性。 跨平台兼容性确保在开发和生产环境中行为的一致性。 该库的托管代码方法消除了特定于平台的依赖项,简化了部署和维护。 有关详细功能比较,请参阅IronXL 功能页面。 结论 IronXL 简化了读取和写入 CSV 文件的整个工作流程,实现了 Excel 和 CSV 之间的转换,并处理了高级电子表格功能。 它不仅仅是另一个 CSV 库,而是一套完整的面向 .NET 开发人员的电子表格工具集。 IronXL 通过结合简洁的 API、全面的支持和企业级测试,帮助开发人员避免浪费时间去追踪错误、通过临时拉取请求进行修补或依赖分散的开源软件包。 如果您的项目需要可靠、高性能的电子表格功能,IronXL 是您的理想之选。它能让您轻松管理文件、处理数据并构建可扩展的解决方案,同时兼具专业级的稳定性和易用性。 准备好简化您的 CSV 和 Excel 处理流程了吗? 首先可以免费试用,价格从 $liteLicense 起,其中包括专业支持和持续更新。 常见问题解答 什么是IronXL,它如何帮助处理C#中的CSV文件? IronXL是一个强大的C#库,可让开发人员无缝读取、写入和转换CSV文件。它为Excel工作簿提供了扩展支持,确保高性能和一致的行、列和数据类型处理。 为什么我应该选择IronXL而不是像CsvHelper这样的免费库? 虽然CsvHelper适用于基本的CSV操作,但IronXL以其对Excel工作簿的支持、增强的性能和强大的数据类型处理等特性胜出,使其适用于更复杂的电子表格工作流程。 IronXL能同时处理CSV和Excel格式吗? 是的,IronXL专为高效处理CSV和Excel格式而设计,允许您轻松在两者之间转换。 IronXL是否支持高性能数据处理? IronXL为高性能而构建,确保数据导入和导出流程顺畅,速度和效率最佳。 是否可以将IronXL与现有电子表格工作流程集成? 当然可以,IronXL可无缝集成到现有电子表格工作流程中,增强跨越CSV和Excel格式的数据管理能力。 是什么使IronXL适合于复杂的CSV文件操作? IronXL提供强大的功能,如对行、列和数据类型的一致处理,使其成为需要超出基本处理的复杂CSV文件操作的理想选择。 我可以使用IronXL将CSV文件转换为Excel吗? 是的,IronXL的关键功能之一是能够将CSV文件转换为Excel格式,反之亦然,简化数据管理过程。 IronXL如何确保可靠的CSV文件处理? IronXL通过其高级功能确保对CSV文件的可靠处理,其中包括对复杂数据类型的支持以及与Excel功能的集成。 使用IronXL进行数据导入/导出的好处是什么? IronXL提供平稳的数据导入/导出过程,为开发人员节省时间和精力,同时确保跨格式的数据完整性和准确性。 IronXL对于C#中CSV操作的新开发人员来说容易使用吗? 是的,IronXL采用用户友好的功能和简单的代码示例进行设计,使新开发人员能够轻松使用其在C#中的CSV操作。 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。 阅读更多 C# CSV 到 XLSX:完整的开发人员指南如何在 VB.NET 中使用 IronXL ...
已发布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。 阅读更多