使用 IRONXL 如何在 .NET 中使用 IronXL 創建 CSV 撰寫器 Jordi Bardia 發表日期:10月 19, 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 為什麼 .NET 的開發人員需要更好的 CSV 解決方案? CSV 文件是無數 .NET 應用程式中資料交換的動力。 從財務報告到庫存系統,您可以用程式碼的方式在幾行代碼中創建 CSV 文件。 雖然像CsvHelper 這樣的庫覆蓋了基本的 CSV 操作,但現代開發者面臨複雜的場景:轉換包含公式的 Excel 工作簿,導出過程中保存數據類型,以及處理企業級電子表格工作流程。 IronXL addresses these challenges by combining robust CSV writing with comprehensive Excel functionality in a single, handling multiple columns with ease in a single,dependency-free library that follows RFC 4180 標準。 這使得它非常適合開發者構建自定義的 .NET CSV 編寫器或 .NET CSV 解析器,支持多列、僅影響當前處理的行的行特定功能,以及自動推斷分隔符。 IronXL 的入門步驟 通過 NuGet 套件管理器安裝 IronXL 只需幾秒鐘: Install-Package IronXL.Excel 安裝後,添加 IronXL 命名空間即可開始創建 CSV 文件並有效地處理分隔值: using IronXL; class Program { static void Main(string[] args) { // Create a new workbook and worksheet WorkBook workBook = WorkBook.Create(); WorkSheet workSheet = workBook.CreateWorkSheet("data"); // Add headers workSheet["A1"].Value = "Product"; workSheet["B1"].Value = "Quantity"; workSheet["C1"].Value = "Price"; // Add data workSheet["A2"].Value = "Widget"; workSheet["B2"].Value = 100; workSheet["C2"].Value = 19.99; // Save as CSV with comma delimiter workBook.SaveAsCsv("inventory.csv", ","); } } using IronXL; class Program { static void Main(string[] args) { // Create a new workbook and worksheet WorkBook workBook = WorkBook.Create(); WorkSheet workSheet = workBook.CreateWorkSheet("data"); // Add headers workSheet["A1"].Value = "Product"; workSheet["B1"].Value = "Quantity"; workSheet["C1"].Value = "Price"; // Add data workSheet["A2"].Value = "Widget"; workSheet["B2"].Value = 100; workSheet["C2"].Value = 19.99; // Save as CSV with comma delimiter workBook.SaveAsCsv("inventory.csv", ","); } } IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 這個簡單的控制台測試程序展示了如何直接從 C# 代碼中編寫 CSV 內容,創建包含我們數據的 工作簿 對象。 SaveAsCsv 方法 使用默認分隔符(逗號),但允許您選擇為不同的地區定義 sep; 這在處理小數分隔符或替代列分隔符時特別有用。 在內部,sep 處理輸出緩衝區的陣列分配。 前面提到的 sep 參數允許您定義此字符。 我們還展示了如何提供靜態進入點,並顯示如何使用靜態定義的資源池進行有效的內存管理,允許在多行中執行高性能操作。 高級 CSV 文件創建技術 高級 CSV 文件創建技術 將 Excel 工作簿轉換為 CSV IronXL 在 將現有的 Excel 文件轉換為 CSV、計算公式和保持數據完整性方面表現出色。 這對於寫入包含標題行和動態生成數據的 CSV 文件至關重要。 // Load an Excel file with formulas and formatting WorkBook workBook = WorkBook.Load("financial_report.xlsx"); // IronXL evaluates formulas before export workBook.EvaluateAll(); // Export to CSV - each worksheet creates a separate CSV file workBook.SaveAsCsv("report.csv", ","); // Creates: report.Sheet1.csv, report.Sheet2.csv, etc. // Load an Excel file with formulas and formatting WorkBook workBook = WorkBook.Load("financial_report.xlsx"); // IronXL evaluates formulas before export workBook.EvaluateAll(); // Export to CSV - each worksheet creates a separate CSV file workBook.SaveAsCsv("report.csv", ","); // Creates: report.Sheet1.csv, report.Sheet2.csv, etc. IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 在轉換多工作表的工作簿時,IronXL 自動為每個工作表生成單獨的 CSV 文件。 公式計算在導出之前執行,確保最終 CSV 輸出中的數據準確。 但這不僅僅是該功能。 默認自動推斷的分隔符確保了跨地區的兼容性,多行或多列的處理無縫流暢。 您還可以在動態環境中使用可以為空的 sep,其中默認支持的分隔符有所不同。 輸出 首先,在此您可以看到從我們的多工作表 Excel 文件中生成的 CSV 文件: 這是其中的 Excel 工作表與對應的 CSV 文件的示例比較: 導出 DataTable 到 CSV 對於數據庫驅動的應用程式,IronXL 簡化了DataTable 導出。 我們將 var 設置為 Datarow 而不是典型的 ref var v,以便更清晰。 // Assume dataTable contains query results DataTable dataTable = GetSalesData(); WorkBook workBook = WorkBook.Create(); WorkSheet workSheet = workBook.CreateWorkSheet("sales"); // Import DataTable directly var row = 1; foreach (var dataRow in dataTable.Rows) { for (var col = 0; col < dataTable.Columns.Count; col++) { workSheet.SetCellValue(row, col, dataRow[col].ToString()); } row++; } // Export with custom delimiter if needed workBook.SaveAsCsv("sales_data.csv", ";"); // Assume dataTable contains query results DataTable dataTable = GetSalesData(); WorkBook workBook = WorkBook.Create(); WorkSheet workSheet = workBook.CreateWorkSheet("sales"); // Import DataTable directly var row = 1; foreach (var dataRow in dataTable.Rows) { for (var col = 0; col < dataTable.Columns.Count; col++) { workSheet.SetCellValue(row, col, dataRow[col].ToString()); } row++; } // Export with custom delimiter if needed workBook.SaveAsCsv("sales_data.csv", ";"); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 在導入時,來自 dataTable.Rows 集合中的每個水平數據行集變成工作表中的新行。 IronXL 在轉換過程中保持數據類型,意味著數字保持數字格式,日期保持格式,文本正確處理特殊字符而無需額外配置。 輸出 在這裡,您可以看到我們的模擬數據源緊挨著輸出的 CSV 文件: IronXL 與 CsvHelper:編寫 CSV 文件的並排比較 考慮到這個員工數據導出場景演示了 CSV 解析和寫入工作流程。 CsvHelper 實施: using (var writer = new StreamWriter("employees.csv")) using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture)) { csv.WriteRecords(employees); } using (var writer = new StreamWriter("employees.csv")) using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture)) { csv.WriteRecords(employees); } IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel IronXL 實施: WorkBook workBook = WorkBook.Create(); WorkSheet workSheet = workBook.CreateWorkSheet("employees"); // Add data with automatic type handling int rowIndex = 1; foreach (var emp in employees) { workSheet[$"A{rowIndex}"].Value = emp.Name; workSheet[$"B{rowIndex}"].Value = emp.Salary; workSheet[$"C{rowIndex}"].Value = emp.StartDate; rowIndex++; } workBook.SaveAsCsv("employees.csv", ","); WorkBook workBook = WorkBook.Create(); WorkSheet workSheet = workBook.CreateWorkSheet("employees"); // Add data with automatic type handling int rowIndex = 1; foreach (var emp in employees) { workSheet[$"A{rowIndex}"].Value = emp.Name; workSheet[$"B{rowIndex}"].Value = emp.Salary; workSheet[$"C{rowIndex}"].Value = emp.StartDate; rowIndex++; } workBook.SaveAsCsv("employees.csv", ","); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 功能 CsvHelper IronXL 基本的 CSV 寫入 ✓ ✓ Excel 到 CSV 轉換 ✗ ✓ 公式計算 ✗ ✓ 多工作表處理 ✗ ✓ 數據類型保留 手動 自動 Excel 格式支持 ✗ XLSX, XLS, XLSM 不需要 MS Office ✓ ✓ 儘管 CsvHelper 能夠有效地處理簡單的寫入列操作,但 IronXL 提供了在多行、內插字符串及動態代碼生成場景中工作的靈活性,甚至可以允許使用像 ref 結構鏈接這樣的低級優化。 開發人員可以枚舉符合特定標準的行,管理默認的自動推斷分隔符,甚至能夠測試簡單的控制台程序,暴露行特定功能和每個條目的關鍵以供調試。 企業特徵和最佳實踐 IronXL 的 SaveAsCsv 方法包含企業級功能: 自定義分隔符:支持逗號、分號、製表符或任何字符(可以用分隔符 sep 覆蓋默認分隔符) 編碼選項:UTF-8、UTF-16 和自定義編碼 公式計算:在導出前計算 Excel 公式 跨平台支持:適用於 Windows、Linux 和 macOS 開發人員還可以應用擴展方法來訪問多列以進行高效處理,或寫入跨多行的 CSV 行,當需要文本換行時。 常見問題和解決方案 在處理 CSV 導出時,開發人員經常會遇到這些挑戰: 資料中特殊字元:IronXL 會自動跳脫引號、逗號和換行符 大型文件處理:使用工作表範圍 以區塊方式處理資料, 編碼問題:為國際字元指定 UTF-8 編碼 缺少數據類型:IronXL 默認保留數字和日期格式 For detailed troubleshooting, visit IronXL's CSV documentation, API reference, and support resources. 今天就開始構建您的 CSV 編寫器 IronXL 將 CSV 編寫從解析挑戰轉變為簡單的操作。 通過將 CSV 功能與 Excel 工作簿支持、公式計算和自動類型處理結合在一起,消除了管理多個庫或手動數據轉換的複雜性。 準備好簡化您的 CSV 工作流程了嗎? 開始您的免費試用,起價為 $liteLicense。 常見問題解答 IronXL的用途是什麼? IronXL是一個.NET庫,專為處理Excel文件而設計,允許開發人員創建、閱讀和修改Excel文檔,並在保持數據類型的情況下將其導出為如CSV等多種格式,同時管理複雜的電子表格場景。 IronXL如何幫助在.NET中進行CSV寫入? IronXL提供將Excel工作簿導出為CSV格式的功能,確保數據類型的保留及複雜電子表格場景的有效處理,使其成為.NET開發人員需要強大CSV寫入解決方案的理想選擇。 開發人員為何應考慮使用IronXL進行CSV操作? 開發人員應考慮使用IronXL,以便無縫地將Excel文件導出為CSV,處理大型數據集,並保持數據類型的完整性,為.NET應用程式中的CSV操作提供上乘的解決方案。 使用IronXL進行電子表格管理的好處是什麼? 使用IronXL進行電子表格管理的好處包括簡單操作Excel文檔、支持多種導出格式如CSV、以及在.NET應用程式中有效處理複雜的數據結構和大型數據集。 IronXL能否在導出到CSV時處理大型Excel文件? 是的,IronXL旨在高效處理大型Excel文件,使開發人員能夠將大量數據導出為CSV而不會影響性能或數據完整性。 IronXL如何在導出到CSV時確保數據類型保留? IronXL通過準確將Excel數據轉換為CSV格式,同時保持原始數據類型和結構來確保數據類型保留,這對於需要精確數據處理的應用程式至關重要。 IronXL適合複雜電子表格場景嗎? IronXL非常適合複雜的電子表格場景,提供高級功能來管理和操作錯綜複雜的Excel文檔,並確保數據可以準確地導出為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# 中讀取帶有逗號的 CSV 文件如何在 VB.NET 中將 DataGridVie...
發表日期 10月 27, 2025 如何在 C# 中將 DataGridView 匯出為 Excel 並保留列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多