使用 IRONXL 如何使用 C# CSV 函式庫讀寫文件 Jordi Bardia 發表日期:9月 29, 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 在 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}"); } IRON VB CONVERTER ERROR developers@ironsoftware.com $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}"); } IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 對於更複雜的情景,可以查看 完整的閱讀教程。 輸出 對於高級場景,開發人員可以通過遍歷每行將 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"); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 此範例從頭開始創建一個新的工作簿並填充數據。 SaveAsCsv() 方法將工作表導出為 CSV 格式,並自動處理正確的格式和分隔符。 IronXL 在導出過程中保留數據類型,確保數字保持數值而不是將所有內容轉換為字符串。 SaveAsCsv 方法 需要時支持自定義分隔符。 輸出 對於現有數據,IronXL 可以直接轉換 DataTables: 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"); IRON VB CONVERTER ERROR developers@ironsoftware.com $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"); IRON VB CONVERTER ERROR developers@ironsoftware.com $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. IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 轉換過程優雅地處理複雜的 Excel 功能。 公式將被評估為它們的值,格式化在可能的情況下被保留,並且數據驗證規則在 Excel 格式中得到保持。 在文檔中了解更多關於 Excel 到 CSV 的轉換。 為了解這些 CSV 文件與原始 .xlsx 文件的對比效果,讓我們看看輸出。Customers 文件在記事本中打開 vs. Excel 查看 Customers 表: 立即開始使用 IronXL。 免費啟動 為何選擇 IronXL 來處理 CSV 文件? 在評估 C# CSV 庫時,開發人員考慮的因素包括易用性、功能完整性和長期支持。 IronXL 全面滿足這些需求: 除了基本的 CSV 操作,IronXL 還提供企業功能,例如密碼保護的文件處理、單元格樣式的保留和公式計算。 統一的 API 意味著開發人員學習一個庫來滿足所有電子表格需求,降低了處理多種文件格式項目的複雜性。 跨平台兼容性確保了在開發和生產環境中的行為一致性。 該庫的托管代碼方法消除了特定平台的依賴,簡化了部署和維護。 有關詳細的功能比較,請參見 IronXL 功能頁面。 結論 IronXL 簡化了 CSV 文件的整個讀寫工作流程、Excel 和 CSV 之間的轉換以及高級電子表格功能的處理。 這不僅僅是另一個 CSV 庫,而是一套完整的 .NET 開發人員電子表格工具。 通過整潔的 API、全面的支持和企業級測試,IronXL 幫助開發人員避免浪費時間追尋漏洞、打補丁或依賴於分散的開源包。 如果您的項目需要可靠的高性能電子表格功能,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 操作的開發人員也能輕鬆使用。 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# 中如何將一組對象導出到 Excel如何在 VB.NET 中開啟 Excel 文件
發表日期 10月 27, 2025 如何在 C# 中將 DataGridView 匯出為 Excel 並保留列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多