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 提供了使用 LoadCSV 方法在 C# 中读取 CSV 文件的单行解决方案。 它支持自定义分隔符和直接转换为 Excel 格式,以便在 .NET 应用程序中进行无缝数据处理。 快速入门:使用 IronXL 一行代码加载和转换 CSV 文件 本示例展示了如何使用 IronXL.Excel 的 LoadCSV 方法读取 CSV 文件,并以最少的代码将其保存为 Excel 工作簿。 立即开始使用 NuGet 创建 PDF 文件: 使用 NuGet 包管理器安装 IronXL PM > Install-Package IronXL.Excel 复制并运行这段代码。 WorkBook wb = WorkBook.LoadCSV("data.csv", ExcelFileFormat.XLSX, listDelimiter: ","); wb.SaveAs("output.xlsx"); 部署到您的生产环境中进行测试 立即开始在您的项目中使用 IronXL,免费试用! 免费试用30天 ### 最小工作流程(5 个步骤) 下载并安装 C# CSV 读取库 创建一个 C# 或 VB 项目 将此页面上的代码示例添加到您的项目中 Specify the CSV path and output name & format 运行项目查看文档 ## 在 .NET 应用程序中读取 CSV 文件 安装用于读取 CSV 文件的 C# 库 (IronXL) 在 C# 中读取 CSV 文件 指定文件格式和分隔符 步骤1 如何安装 IronXL 库? 在 MVC、ASP 或 .NET Core 中使用 IronXL 读取 CSV 文件之前,您需要安装它。 下面是一个快速攻略。 为什么要使用 NuGet 包管理器? 在 Visual Studio 中,选择"项目"菜单 管理 NuGet 程序包 搜索 IronXL.Excel 安装 图 1 - IronXL.Excel NuGet 包 哪些是替代安装方法? Or download from the Iron Software website: https://ironsoftware.com/csharp/excel/packages/IronXL.zip For .NET developers working with Docker containers, IronXL can be configured in your Docker environment. The library also supports deployment on Azure Functions and AWS Lambda for cloud-based CSV processing. 如何使用教程 如何以编程方式读取 CSV 文件? 现在开始项目! 我需要导入哪个命名空间? 添加 IronXL 命名空间: // This namespace is required to access the IronXL functionalities using IronXL; // This namespace is required to access the IronXL functionalities using IronXL; ' This namespace is required to access the IronXL functionalities Imports IronXL $vbLabelText $csharpLabel 如何加载和转换 CSV 文件? 添加代码,使用 IronXL 和 C# 以编程方式读取 CSV 文件: :path=/static-assets/excel/content-code-examples/how-to/csharp-read-csv-read.cs // Load the CSV file into a WorkBook object, specifying the file path, format, and delimiter WorkBook workbook = WorkBook.LoadCSV("Read_CSV_Ex.csv", fileFormat: ExcelFileFormat.XLSX, listDelimiter: ","); // Access the default worksheet within the loaded workbook WorkSheet ws = workbook.DefaultWorkSheet; // Save the workbook as an Excel file with a specified name workbook.SaveAs("Csv_To_Excel.xlsx"); ' Load the CSV file into a WorkBook object, specifying the file path, format, and delimiter Dim workbook As WorkBook = WorkBook.LoadCSV("Read_CSV_Ex.csv", fileFormat:=ExcelFileFormat.XLSX, listDelimiter:=",") ' Access the default worksheet within the loaded workbook Dim ws As WorkSheet = workbook.DefaultWorkSheet ' Save the workbook as an Excel file with a specified name workbook.SaveAs("Csv_To_Excel.xlsx") $vbLabelText $csharpLabel 有哪些高级 CSV 阅读选项? IronXL 提供了处理各种配置的 CSV 文件的功能。 您可以指定不同的分隔符(分号、制表符、管道)并处理不同编码的文件: // Example: Reading CSV with custom delimiter and encoding WorkBook workbook = WorkBook.LoadCSV("data.csv", fileFormat: ExcelFileFormat.XLSX, listDelimiter: ";", // Using semicolon as delimiter encoding: Encoding.UTF8); // Access specific cells after loading var cellValue = workbook.DefaultWorkSheet["A1"].Value; // Iterate through rows foreach (var row in workbook.DefaultWorkSheet.Rows) { // Process each row foreach (var cell in row) { Console.WriteLine(cell.Value); } } // Example: Reading CSV with custom delimiter and encoding WorkBook workbook = WorkBook.LoadCSV("data.csv", fileFormat: ExcelFileFormat.XLSX, listDelimiter: ";", // Using semicolon as delimiter encoding: Encoding.UTF8); // Access specific cells after loading var cellValue = workbook.DefaultWorkSheet["A1"].Value; // Iterate through rows foreach (var row in workbook.DefaultWorkSheet.Rows) { // Process each row foreach (var cell in row) { Console.WriteLine(cell.Value); } } Imports System Imports IronXL ' Example: Reading CSV with custom delimiter and encoding Dim workbook As WorkBook = WorkBook.LoadCSV("data.csv", fileFormat:=ExcelFileFormat.XLSX, listDelimiter:=";", ' Using semicolon as delimiter encoding:=Encoding.UTF8) ' Access specific cells after loading Dim cellValue = workbook.DefaultWorkSheet("A1").Value ' Iterate through rows For Each row In workbook.DefaultWorkSheet.Rows ' Process each row For Each cell In row Console.WriteLine(cell.Value) Next Next $vbLabelText $csharpLabel CSV 文件在处理前是什么样子? 图 2 -记事本中打开的 CSV 文件 LoadCSV 方法如何工作? 创建一个 Workbook 对象。 Workbook 对象的 LoadCSV 方法指定了要读取的 CSV 文件、读取格式和分隔符。 在本例中,使用逗号作为分隔符。 创建一个 Worksheet 对象,将 CSV 内容放置其中。 然后以新的名称和格式保存文件。 This process is useful when you need to convert between different spreadsheet formats. 图 3 -在 Excel 中打开的 CSV 文件 我能否高效处理大型 CSV 文件? IronXL 对性能进行了优化,可高效处理大型 CSV 文件。 For developers working with substantial datasets, the library offers significant performance improvements in recent versions. 在处理大文件时,请考虑以下最佳实践: // Reading large CSV files with memory optimization WorkBook workbook = WorkBook.LoadCSV("large_dataset.csv", fileFormat: ExcelFileFormat.XLSX, listDelimiter: ","); // Process data in chunks var worksheet = workbook.DefaultWorkSheet; int rowCount = worksheet.RowCount; int batchSize = 1000; for (int i = 0; i < rowCount; i += batchSize) { // Process rows in batches var endIndex = Math.Min(i + batchSize, rowCount); for (int j = i; j < endIndex; j++) { var row = worksheet.GetRow(j); // Process individual row } } // Reading large CSV files with memory optimization WorkBook workbook = WorkBook.LoadCSV("large_dataset.csv", fileFormat: ExcelFileFormat.XLSX, listDelimiter: ","); // Process data in chunks var worksheet = workbook.DefaultWorkSheet; int rowCount = worksheet.RowCount; int batchSize = 1000; for (int i = 0; i < rowCount; i += batchSize) { // Process rows in batches var endIndex = Math.Min(i + batchSize, rowCount); for (int j = i; j < endIndex; j++) { var row = worksheet.GetRow(j); // Process individual row } } Imports System Imports IronXL ' Reading large CSV files with memory optimization Dim workbook As WorkBook = WorkBook.LoadCSV("large_dataset.csv", fileFormat:=ExcelFileFormat.XLSX, listDelimiter:=",") ' Process data in chunks Dim worksheet = workbook.DefaultWorkSheet Dim rowCount As Integer = worksheet.RowCount Dim batchSize As Integer = 1000 For i As Integer = 0 To rowCount - 1 Step batchSize ' Process rows in batches Dim endIndex As Integer = Math.Min(i + batchSize, rowCount) For j As Integer = i To endIndex - 1 Dim row = worksheet.GetRow(j) ' Process individual row Next Next $vbLabelText $csharpLabel 如何将 CSV 数据导出为其他格式? 阅读 CSV 文件后,您可能需要将数据导出为各种格式。 IronXL supports multiple export options including XLSX to CSV conversion, JSON, XML, and HTML. 以下是导出为不同格式的方法: // Load CSV and export to multiple formats WorkBook workbook = WorkBook.LoadCSV("input.csv", ExcelFileFormat.XLSX, ","); // Export to different formats workbook.SaveAs("output.xlsx"); // Excel format workbook.SaveAsJson("output.json"); // JSON format workbook.SaveAsXml("output.xml"); // XML format // Export specific worksheet to CSV with custom delimiter workbook.DefaultWorkSheet.SaveAs("output_custom.csv", ";"); // Load CSV and export to multiple formats WorkBook workbook = WorkBook.LoadCSV("input.csv", ExcelFileFormat.XLSX, ","); // Export to different formats workbook.SaveAs("output.xlsx"); // Excel format workbook.SaveAsJson("output.json"); // JSON format workbook.SaveAsXml("output.xml"); // XML format // Export specific worksheet to CSV with custom delimiter workbook.DefaultWorkSheet.SaveAs("output_custom.csv", ";"); ' Load CSV and export to multiple formats Dim workbook As WorkBook = WorkBook.LoadCSV("input.csv", ExcelFileFormat.XLSX, ",") ' Export to different formats workbook.SaveAs("output.xlsx") ' Excel format workbook.SaveAsJson("output.json") ' JSON format workbook.SaveAsXml("output.xml") ' XML format ' Export specific worksheet to CSV with custom delimiter workbook.DefaultWorkSheet.SaveAs("output_custom.csv", ";") $vbLabelText $csharpLabel 如何在 Web 应用程序中处理 CSV 数据? For ASP.NET developers, IronXL provides seamless integration for reading CSV files in web applications. 您可以在 MVC 或 Web API 项目中上传和处理 CSV 文件: // Example: Processing uploaded CSV file in ASP.NET public ActionResult UploadCSV(HttpPostedFileBase file) { if (file != null && file.ContentLength > 0) { // Save uploaded file temporarily var fileName = Path.GetFileName(file.FileName); var path = Path.Combine(Server.MapPath("~/App_Data/"), fileName); file.SaveAs(path); // Load and process CSV WorkBook workbook = WorkBook.LoadCSV(path, ExcelFileFormat.XLSX, ","); // Convert to DataTable for easy display var dataTable = workbook.DefaultWorkSheet.ToDataTable(); // Clean up temporary file System.IO.File.Delete(path); return View(dataTable); } return RedirectToAction("Index"); } // Example: Processing uploaded CSV file in ASP.NET public ActionResult UploadCSV(HttpPostedFileBase file) { if (file != null && file.ContentLength > 0) { // Save uploaded file temporarily var fileName = Path.GetFileName(file.FileName); var path = Path.Combine(Server.MapPath("~/App_Data/"), fileName); file.SaveAs(path); // Load and process CSV WorkBook workbook = WorkBook.LoadCSV(path, ExcelFileFormat.XLSX, ","); // Convert to DataTable for easy display var dataTable = workbook.DefaultWorkSheet.ToDataTable(); // Clean up temporary file System.IO.File.Delete(path); return View(dataTable); } return RedirectToAction("Index"); } Imports System.IO Imports System.Web Imports IronXL Public Function UploadCSV(file As HttpPostedFileBase) As ActionResult If file IsNot Nothing AndAlso file.ContentLength > 0 Then ' Save uploaded file temporarily Dim fileName As String = Path.GetFileName(file.FileName) Dim path As String = Path.Combine(Server.MapPath("~/App_Data/"), fileName) file.SaveAs(path) ' Load and process CSV Dim workbook As WorkBook = WorkBook.LoadCSV(path, ExcelFileFormat.XLSX, ",") ' Convert to DataTable for easy display Dim dataTable As DataTable = workbook.DefaultWorkSheet.ToDataTable() ' Clean up temporary file System.IO.File.Delete(path) Return View(dataTable) End If Return RedirectToAction("Index") End Function $vbLabelText $csharpLabel 如何处理包含复杂数据的 CSV 文件? 在处理包含公式、特殊字符或混合数据类型的 CSV 文件时,IronXL 提供了强大的处理能力。 You can work with formulas and format cell data appropriately: // Handle CSV with special requirements WorkBook workbook = WorkBook.LoadCSV("complex_data.csv", ExcelFileFormat.XLSX, listDelimiter: ","); var worksheet = workbook.DefaultWorkSheet; // Apply formatting to cells worksheet["A1:A10"].Style.Font.Bold = true; worksheet["B1:B10"].FormatString = "$#,##0.00"; // Currency format // Add formulas after loading CSV data worksheet["D1"].Formula = "=SUM(B1:B10)"; // Handle CSV with special requirements WorkBook workbook = WorkBook.LoadCSV("complex_data.csv", ExcelFileFormat.XLSX, listDelimiter: ","); var worksheet = workbook.DefaultWorkSheet; // Apply formatting to cells worksheet["A1:A10"].Style.Font.Bold = true; worksheet["B1:B10"].FormatString = "$#,##0.00"; // Currency format // Add formulas after loading CSV data worksheet["D1"].Formula = "=SUM(B1:B10)"; Imports IronXL ' Handle CSV with special requirements Dim workbook As WorkBook = WorkBook.LoadCSV("complex_data.csv", ExcelFileFormat.XLSX, listDelimiter:=",") Dim worksheet = workbook.DefaultWorkSheet ' Apply formatting to cells worksheet("A1:A10").Style.Font.Bold = True worksheet("B1:B10").FormatString = "$#,##0.00" ' Currency format ' Add formulas after loading CSV data worksheet("D1").Formula = "=SUM(B1:B10)" $vbLabelText $csharpLabel 图书馆快速访问 ### IronXL API 参考文档 使用便捷的 IronXL API 参考文档,了解更多并分享如何在 Excel 电子表格中合并、取消合并和处理单元格。 IronXL API 参考文档 常见问题解答 如何用 C# 快速读取 CSV 文件? IronXL 提供了使用 LoadCSV 方法在 C# 中读取 CSV 文件的单行解决方案。只需使用WorkBook wb = WorkBook.LoadCSV("data.csv",ExcelFileFormat.XLSX,listDelimiter: ",");这将加载 CSV 文件,并允许您使用 wb.SaveAs("output.xlsx") 将其保存为 Excel 工作簿。 CSV 阅读库有哪些安装方法? 您可以通过 Visual Studio 中的 NuGet 包管理器搜索 "IronXL.Excel "安装 IronXL,也可以直接从 Iron Software 网站下载。该库还支持 Docker 容器、Azure Functions 和 AWS Lambda,用于基于云的 CSV 处理。 读取 CSV 文件时可以使用自定义分隔符吗? 是的,IronXL 支持各种分隔符,包括分号、制表符和管道。您可以使用 LoadCSV 方法中的 listDelimiter 参数指定分隔符,例如WorkBook.LoadCSV("data.csv", ExcelFileFormat.XLSX, listDelimiter: ";"). 为实现 CSV 阅读功能,我需要导入哪个命名空间? 您需要在 C# 文件顶部添加 "using IronXL;",以访问 IronXL 读取和处理 CSV 文件的所有功能。 加载 CSV 文件后,如何访问特定的单元格值? 使用 IronXL 的 LoadCSV 方法加载 CSV 文件后,您可以使用以下方法访问特定单元格: var cellValue = workbook.DefaultWorkSheet["A1"].Value; 这样您就可以从加载的 CSV 中检索和操作单个单元格数据。 读取 CSV 文件时,库是否支持不同的文件编码? 是的,IronXL 支持包括 UTF8 在内的各种编码。您可以在加载 CSV 文件时指定编码参数:WorkBook.LoadCSV("data.csv", fileFormat: ExcelFileFormat.XLSX, encoding: Encoding.UTF8)。 我可以直接将 CSV 文件转换为 Excel 格式吗? 是的,IronXL 允许将 CSV 直接转换为 Excel 格式。使用 LoadCSV 加载 CSV 文件后,您可以立即使用 SaveAs 方法将其保存为 Excel 文件,并指定 XLSX 或 XLS 等格式。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 准备开始了吗? Nuget 下载 1,846,091 | 版本: 2026.2 刚刚发布 免费 NuGet 下载 总下载量:1,846,091 查看许可证