使用 IRONXL 使用 C# 读取 CSV 文件(代码示例教程) Curtis Chau 已更新:2025年7月28日 下载 IronXL NuGet 下载 DLL 下载 免费试用 LLM副本 LLM副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 本教程演示了如何使用IronXL C#库在不安装其他互操作的情况下高效、有效地读取CSV文件。 ## 如何在 C# 中逐行读取 CSV 文件 安装 C# 库以逐行读取 CSV 文件 利用高级`LoadCSV`方法读取 CSV 文件 在 C# 中使用`Exists`方法捕获加载不存在的文件的错误 使用`ToDataTable`方法将 CSV 数据转换为数据库。 使用`SaveAs`方法导出 Excel 文件,CSV 数据会自动转换为 Excel 文件。 How to read CSV Files in C# 您必须先安装IronXL,才能在MVC、ASP.NET或.NET Core中使用它读取CSV文件。 这是该过程的基本概述。 在Visual Studio中选择项目菜单,管理NuGet包,并搜索IronXl.Excel,然后安装。 在NuGet包管理器中安装IronXL包 IronXL是在C#中读取CSV文件时一个很好的工具。 下面的代码示例显示您可以使用逗号或其他分隔符读取CSV文件。 // Load a CSV file into a WorkBook object specifying file format and delimiters WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ","); // Get the default worksheet from the workbook WorkSheet ws = workbook.DefaultWorkSheet; // Save the workbook as an Excel file workbook.SaveAs("Csv_To_Excel.xlsx"); // Load a CSV file into a WorkBook object specifying file format and delimiters WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ","); // Get the default worksheet from the workbook WorkSheet ws = workbook.DefaultWorkSheet; // Save the workbook as an Excel file workbook.SaveAs("Csv_To_Excel.xlsx"); $vbLabelText $csharpLabel 本教程的CSV数据 对象WorkBook被创建。 然后使用WorkBook对象的LoadCSV方法来指定CSV文件的名称、格式以及读取的CSV文件中使用的分隔符,这些分隔符存储为字符串数组。 在此场景中使用逗号作为分隔符。 之后,创建一个WorkSheet对象; 这就是CSV文件内容将被存储的地方。 然后将文件重命名并存储为新格式。 然后,CSV文件数据在工作表中以表格形式排列。 输出将如下所示: 数据转换为Excel文件 CSV parsing in C# .NET CSV在字段中的换行处理以及字段可能用引号括起问题上存在若干问题,这使得简单的字符串拆分技术无法工作Split("'")。 相反,IronXL提供了使用LoadCSV方法中的可选参数自定义分隔符,更多详情请查看LoadCSV的API文档。 C# Records — Reading CSV Data 在下面的示例中,使用foreach循环遍历CSV文件中的行,并使用Console来记录数据。 // Load a CSV file into a WorkBook object specifying file format and delimiters WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ","); // Get the default worksheet from the workbook WorkSheet ws = workbook.DefaultWorkSheet; // Convert the worksheet data into a DataTable DataTable dt = ws.ToDataTable(true); // The argument true indicates the first row is header // Iterate through each row in the DataTable foreach (DataRow row in dt.Rows) { // Iterate through each column in the current row for (int i = 0; i < dt.Columns.Count; i++) { // Output each cell value to the console Console.Write(row[i] + " "); } // New line after each row Console.WriteLine(); } // Load a CSV file into a WorkBook object specifying file format and delimiters WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ","); // Get the default worksheet from the workbook WorkSheet ws = workbook.DefaultWorkSheet; // Convert the worksheet data into a DataTable DataTable dt = ws.ToDataTable(true); // The argument true indicates the first row is header // Iterate through each row in the DataTable foreach (DataRow row in dt.Rows) { // Iterate through each column in the current row for (int i = 0; i < dt.Columns.Count; i++) { // Output each cell value to the console Console.Write(row[i] + " "); } // New line after each row Console.WriteLine(); } $vbLabelText $csharpLabel 从CSV文件访问数据并显示在控制台中 将CSV文件字符串行转换为Excel格式 过程很简单:加载CSV文件并将其保存为Excel文件。 // Load a CSV file into a WorkBook object specifying file format and delimiters WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ","); // Get the default worksheet from the workbook WorkSheet ws = workbook.DefaultWorkSheet; // Save the workbook as an Excel file workbook.SaveAs("CsvToExcelConversion.xlsx"); // Load a CSV file into a WorkBook object specifying file format and delimiters WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ","); // Get the default worksheet from the workbook WorkSheet ws = workbook.DefaultWorkSheet; // Save the workbook as an Excel file workbook.SaveAs("CsvToExcelConversion.xlsx"); $vbLabelText $csharpLabel 使用IronXL读取和操作转换后的CSV文件 IronXL WorkBook 类表示一个Excel工作表,并使用此类在C#中打开Excel文件。 下面的代码示例将所需的Excel文件加载到WorkBook对象中: // Load WorkBook from a .xlsx file var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx"); // Load WorkBook from a .xlsx file var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx"); $vbLabelText $csharpLabel 在多个工作簿中可以找到WorkSheet对象。 这些是Excel文档的工作表。 如果工作簿有工作表,可以通过以下方法按名称获取它们: // Open a specific worksheet for reading by its name var worksheet = workbook.GetWorkSheet("sheetnamegoeshere"); // Open a specific worksheet for reading by its name var worksheet = workbook.GetWorkSheet("sheetnamegoeshere"); $vbLabelText $csharpLabel 读取单元格值的代码: // Read and output values from a range of cells elegantly foreach (var cell in worksheet["A2:A10"]) { Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text); } // Read and output values from a range of cells elegantly foreach (var cell in worksheet["A2:A10"]) { Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text); } $vbLabelText $csharpLabel 下面的代码示例可以在加载和读取工作簿和工作表后更新公式或将它们应用于特定单元格。 以下是代码: // Set formulas for specific cells worksheet["A1"].Formula = "Sum(B8:C12)"; worksheet["B8"].Formula = "=C9/C11"; worksheet["G30"].Formula = "Max(C3:C7)"; // Force recalculate all formula values in all sheets workbook.EvaluateAll(); // Set formulas for specific cells worksheet["A1"].Formula = "Sum(B8:C12)"; worksheet["B8"].Formula = "=C9/C11"; worksheet["G30"].Formula = "Max(C3:C7)"; // Force recalculate all formula values in all sheets workbook.EvaluateAll(); $vbLabelText $csharpLabel 结论和IronXL特别优惠 除了在C#中处理CSV外,IronXL还可以通过两行代码将CSV转换为Excel。 使用IronXL的Excel API是一种无需互操作的简单方法。 此外,IronXL还提供了丰富的功能,可以与Excel工作簿、工作表和单元级别进行交互,例如在流行格式之间转换,单元格数据格式化,合并单元格,插入数学函数, 甚至管理图表和添加图像。 您可以使用IronXL试用许可密钥启动而不带水印。 许可证起价为$799,并包括一年的免费支持和更新。 IronPDF、IronXL、IronOCR、IronBarcode和IronWebscraper都是Iron Software套件的一部分。 Iron Software允许您以更低的价格购买其整个软件包。您可以以两种价格使用所有这些工具。 这绝对是一个值得探索的选项。 常见问题解答 我如何在 C# 中读取 CSV 文件? 您可以使用IronXL库在C#中读取CSV文件,使用LoadCSV方法,这允许您将CSV数据加载到WorkBook对象中以进行进一步操作。 在 C# 中将 CSV 数据转换为 Excel 格式的最佳方法是什么? 在C#中将CSV数据转换为Excel格式的最佳方法是使用IronXL。将您的CSV加载到WorkBook对象中,使用SaveAs方法将其保存为Excel文件。 如何使用库在 C# 中处理具有自定义分隔符的 CSV 文件? 使用IronXL,您可以通过在LoadCSV方法中将分隔符指定为可选参数来处理具有自定义分隔符的CSV文件。 我可以直接将 CSV 数据转换为 C# 中的数据库格式吗? 是的,您可以使用IronXL在C#中将CSV数据转换为数据库格式,利用ToDataTable方法将数据转换为适合数据库操作的DataTable对象。 在 C# 中有哪些方法可以检查不存在的 CSV 文件? 在C#中,您可以使用IronXL的Exists方法在尝试加载CSV文件之前检查CSV文件是否存在,从而避免与不存在的文件相关的错误。 在使用 C# 从 CSV 转换为 Excel 后,如何操作 Excel 数据? 在 C# 中将 CSV 转换为 Excel 后,您可以使用 IronXL 的功能来操作数据,例如格式化、合并单元格、插入数学函数以及添加图表或图像。 IronXL 读取和转换 C# 中 CSV 文件有哪些优势? IronXL 提供的优势包括易于安装、无需额外的互操作、支持自定义分隔符,以及在 Excel 中转换和操作 CSV 数据的强大方法。 如何在 C# 中处理 CSV 数据中的特殊字符? IronXL 可以通过允许您在加载 CSV 文件时指定文件编码和分隔符来处理 CSV 数据中的特殊字符,以确保数据的完整性和准确性。 IronXL 用户可获得哪些支持? 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 工作簿。 阅读更多 如何在 C# 中使用 CSV 解析器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 工作簿。 阅读更多