使用 IRONXL 使用 C# 讀取 CSV 文件(代碼範例教程) Jordi Bardia 更新日期:7月 28, 2025 Download IronXL NuGet 下載 DLL 下載 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article 此教程展示如何使用 IronXL C# 库读取 CSV 文件,而无需安装其他互操作,以高效的方式实现。 class="hsg-featured-snippet"> 如何逐行读取 C# 中的 CSV 文件 安装读取逐行 CSV 文件的 C# 库 利用高级LoadCSV方法读取 CSV 文件 使用 C# 中的Exists方法捕获加载不存在的文件 使用ToDataTable方法将 CSV 数据转换为数据库 使用SaveAs方法导出 Excel 文件,同时 CSV 数据会自动转换为 Excel 如何在 C# 中读取 CSV 文件 在使用 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"); ' Load a CSV file into a WorkBook object specifying file format and delimiters Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",") ' Get the default worksheet from the workbook Dim ws As WorkSheet = 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 文件 C# .NET 中的 CSV 解析 CSV 文件在字段的换行处理方面以及字段可能被引号括住的问题,使得简单的字符串拆分技术不起作用Split("'")。 相反,IronXL 通过LoadCSV方法的可选参数提供自定义分隔符功能,请查看LoadCSV的 API 文档以获取更多详情。 C# 记录 — 读取 CSV 数据 在下面的示例中,使用foreach循环迭代 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; // 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(); } ' Load a CSV file into a WorkBook object specifying file format and delimiters Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",") ' Get the default worksheet from the workbook Dim ws As WorkSheet = workbook.DefaultWorkSheet ' Convert the worksheet data into a DataTable Dim dt As DataTable = ws.ToDataTable(True) ' The argument true indicates the first row is header ' Iterate through each row in the DataTable For Each row As DataRow In dt.Rows ' Iterate through each column in the current row For i As Integer = 0 To dt.Columns.Count - 1 ' Output each cell value to the console Console.Write(row(i) & " ") Next i ' New line after each row Console.WriteLine() Next row $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"); ' Load a CSV file into a WorkBook object specifying file format and delimiters Dim workbook As WorkBook = WorkBook.LoadCSV("test.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",") ' Get the default worksheet from the workbook Dim ws As WorkSheet = 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"); ' Load WorkBook from a .xlsx file Dim workbook = WorkBook.Load("Spreadsheets\\sample.xlsx") $vbLabelText $csharpLabel WorkSheet对象可以在多个 WorkBook 中找到。 加載 Excel 文件並選擇其位置(.xlsx)。 如果工作簿有工作表,您可以通过以下方式按名称获取它们: // 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"); ' Open a specific worksheet for reading by its name Dim 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); } ' Read and output values from a range of cells elegantly For Each cell In worksheet("A2:A10") Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text) Next cell $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(); ' 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 无需 Interop,十分轻松。 Furthermore, IronXL also offers a wide range of features to interact with Excel WorkBook, WorkSheet and Cells level such as converting between popular formats, cell data formatting, merging cells, inserting math functions, and even managing charts and adding images. 您可以使用IronXL 试用版许可证密钥启动而无水印。 许可证起价为$799,并包括一年的免费支持和更新。 IronPDF、IronXL、IronOCR、IronBarcode 和 IronWebscraper 都是Iron Software 套件的一部分。 Iron Software 允许您以更优惠的价格购买其整套产品。您可以以两个工具的价格使用所有这些工具。 这绝对是值得探索的选项。 常見問題解答 我如何在 C# 中讀取 CSV 文件? 您可以在 C# 中使用 IronXL 庫通過使用 LoadCSV 方法讀取 CSV 文件,該方法允許您將 CSV 數據加載到 WorkBook 對象以供進一步操作。 在 C# 中將 CSV 數據轉換為 Excel 格式的最佳方式是什麼? 在 C# 中將 CSV 數據轉換為 Excel 格式的最佳方式是使用 IronXL。將您的 CSV 加載到 WorkBook 對象中,然後使用 SaveAs 方法將其保存為 Excel 文件。 如何在 C# 中使用庫處理具有自定義分隔符的 CSV 文件? 使用 IronXL,您可以通過在 LoadCSV 方法中指定分隔符作為可選參數來處理具有自定義分隔符的 CSV 文件。 我可以直接將 CSV 數據轉換為 C# 的數據庫格式嗎? 是的,您可以在 C# 中使用 IronXL 通過使用 ToDataTable 方法將 CSV 數據轉換為數據庫格式,該方法將數據轉換為適合數據庫操作的 DataTable 對象。 有哪些方法可用於使用 C# 檢查不存在的 CSV 文件? 在 C# 中,您可以使用 IronXL 的 Exists 方法在嘗試加載前檢查 CSV 文件是否存在,從而避免與不存在文件相關的錯誤。 在 C# 中將 CSV 轉換為 Excel 後,我如何操作 Excel 數據? 在 C# 中將 CSV 轉換為 Excel 後,您可以使用 IronXL 的功能操作數據,例如格式化、合併單元格、插入數學函數以及添加圖表或圖像。 IronXL 在 C# 中讀取和轉換 CSV 文件有哪些優勢? IronXL 提供的優勢包括安裝簡便、無需其他 interop、自定義分隔符支持,以及在 Excel 中轉換和操作 CSV 數據的強大方法。 在 C# 中如何處理 CSV 數據中的特殊字符? IronXL 能夠通過在加載 CSV 文件時允許您指定文件編碼和分隔符來處理 CSV 數據中的特殊字符,從而確保數據的完整性和準確性。 IronXL 用戶有哪些支持可用? IronXL 許可證包括一年免費支持和更新,提供幫助並確保您擁有最新功能和修補。 Jordi Bardia 立即與工程團隊聊天 軟體工程師 Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。 相關文章 發表日期 10月 27, 2025 如何在 C# 中創建 Excel 樞紐分析表 學習使用 C# Interop 和 IronXL 創建 Excel 中的樞紐分析表,這是一個清晰的分步指南。 閱讀更多 發表日期 10月 27, 2025 如何在 C# 中將 DataGridView 匯出為 Excel 並保留列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多 發表日期 10月 27, 2025 如何使用 IronXL 的 .NET Core CSV 讀取器 學習使用 IronXL 作為 .NET Core CSV 讀取器的有效方法,提供實用範例。 閱讀更多 如何在 C# 中使用 CSV 解析器C# 程式化地開啟 Excel 文件...
發表日期 10月 27, 2025 如何在 C# 中將 DataGridView 匯出為 Excel 並保留列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多