使用 IRONXL 如何在 .NET 中使用 IronXL 創建 CSV 撰寫器 Jordi Bardia 發表日期:10月 19, 2025 下載 IronXL NuGet 下載 DLL 下載 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在雙子座打開 請向 Gemini 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 為什麼 .NET 開發人員需要更好的 CSV 解決方案? CSV 檔案為無數 .NET 應用程式提供資料交換支援。 從財務報告到庫存系統,您只需幾行程式碼即可自由地以程式設計方式建立 CSV 檔案。 雖然像CsvHelper這樣的程式庫涵蓋了基本的 CSV 操作,但現代開發人員面臨著複雜的場景:轉換帶有公式的 Excel 工作簿、在匯出過程中保留資料類型以及處理企業級電子表格工作流程。 IronXL透過將強大的 CSV 寫入功能與全面的Excel 功能相結合,在一個遵循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 內容,並建立一個包含我們資料的Workbook物件。 SaveAsCsv 方法使用預設分隔符號(逗號),但允許您選擇性地為不同的語言環境定義分隔符號; 這在處理小數分隔符號或交替列分隔符號字元時尤其有用。 內部,sep 處理輸出緩衝區的陣列分配。 前面提到的 sep 參數可讓您定義此字元。 我們也示範如何提供靜態入口點,並展示如何使用靜態定義的資源池進行高效的記憶體管理,從而實現跨多行的高效能。 進階 CSV 檔案建立技巧 如何使用 IronXL 建立 .NET CSV 寫入器:圖 1 - 使用 IronXL 輸出的 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 輸出的資料準確無誤。 但這並非它唯一的特色。 預設的自動推斷分隔符號確保了跨區域的兼容性,並且可以無縫處理多行或多列。 對於預設支援的分隔符號會變化的動態環境,您也可以使用可為空的分隔符號。 輸出 首先,您可以在這裡看到由我們的多工作表 Excel 檔案產生的 CSV 檔案: 如何使用 IronXL 建立 .NET CSV 寫入器:圖 2 - CSV 文件 以下是一個Excel表格與對應CSV檔案的比較範例: 如何使用 IronXL 建立 .NET CSV 寫入器:圖 3 - 範例輸出 將資料表匯出為 CSV 對於資料庫驅動型應用程序,IronXL 簡化了資料表匯出流程。 為了更清楚地說明,我們將變數設為 Datarow 而不是典型的引用變數 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 建立 .NET CSV 寫入器:圖 4 - 將資料表匯出為 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 無需微軟辦公室軟體 ✓ ✓ 雖然 CsvHelper 可以有效率地處理簡單的寫入列操作,但 IronXL 提供了處理多行、插值字串和動態程式碼產生場景的靈活性,甚至允許使用 ref struct link 等構造進行低階優化。 開發人員可以列舉符合特定條件的行,管理預設的自動推斷分隔符,甚至可以使用簡單的控制台程式進行測試,這些程式會公開特定於行的功能以及每個條目的鍵以進行調試。 企業功能和最佳實踐 IronXL 的 SaveAsCsv 方法包含企業級功能: 自訂分隔符號:支援逗號、分號、製表符或任何字元(可使用 separator sep 覆寫預設分隔符號) 編碼選項:UTF-8、UTF-16 和自訂編碼 公式評估:匯出前計算 Excel 公式 跨平台支援:可在 Windows、Linux 和 macOS 上運行 開發人員還可以應用擴展方法來存取多列以進行高效處理,或者在需要文字換行時編寫跨越多行的 CSV 行。 常見問題及解決方案 在使用 CSV 匯出檔案時,開發人員經常會遇到以下挑戰: *資料中的特殊字元*:IronXL 會自動轉義引號、逗號和換行符。 大檔案處理:使用工作表區域分塊處理數據, 編碼問題:請為國際字元指定 UTF-8 編碼。 缺少的資料類型**:IronXL 預設保留數值和日期格式。 如需詳細故障排除,請造訪IronXL 的 CSV 文件、 API 參考和支援資源。 立即開始建立您的 CSV 寫入器 IronXL 將 CSV 寫入從解析難題變成了簡單的操作。 它將 CSV 功能與 Excel 工作簿支援、公式計算和自動類型處理相結合,消除了管理多個庫或手動資料轉換的複雜性。 準備好簡化您的 CSV 工作流程了嗎? 免費試用,起價 $liteLicense。 常見問題解答 IronXL 用來做什麼? IronXL 是專為 Excel 檔案設計的 .NET 函式庫,可讓開發人員建立、讀取和修改 Excel 文件,並將其匯出為 CSV 等各種格式,同時保留資料類型和管理複雜的試算表情境。 IronXL 如何協助在 .NET 中撰寫 CSV? IronXL.Excel 提供將 Excel 工作簿匯出為 CSV 格式的功能,可確保資料類型得以保留,並有效處理複雜的試算表情境,是需要強大 CSV 撰寫解決方案的 .NET 開發人員的理想選擇。 開發人員為何要考慮使用 IronXL 進行 CSV 作業? 開發人員應考慮使用 IronXL,因為它能夠將 Excel 檔案無縫匯出為 CSV、處理大型資料集、維持資料類型的完整性,為 .NET 應用程式中的 CSV 作業提供優異的解決方案。 使用 IronXL 進行試算表管理有哪些好處? 使用 IronXL 進行試算表管理的好處包括:可輕鬆操作 Excel 文件、支援 CSV 等多種匯出格式,以及可在 .NET 應用程式中有效率地處理複雜的資料結構和大型資料集。 IronXL.Excel 在匯出為 CSV 時,可以處理大型 Excel 檔案嗎? 是的,IronXL.Excel 旨在高效處理大型 Excel 檔案,讓開發人員可以將大量資料匯出至 CSV,而不會影響效能或資料完整性。 IronXL 在匯出至 CSV 時,如何確保資料類型的保存? IronXL.Excel 透過準確地將 Excel 資料轉換為 CSV 格式,確保資料類型的保存,同時維持原始的資料類型和結構,這對於需要精確資料處理的應用程式而言至關重要。 IronXL 是否適合複雜的試算表情境? IronXL.Excel 非常適合複雜的試算表情境,提供進階功能來管理和處理複雜的 Excel 文件,並確保資料能精確地匯出為 CSV 或其他格式。 Jordi Bardia 立即與工程團隊聊天 軟體工程師 Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。 相關文章 發表日期 12月 19, 2025 如何使用 C# Interop 與 IronXL 在 Excel 中建立資料透視表 在無需 Office 依賴的情況下在 C# 中構建 Excel 樞紐分析表。IronXL 對無需 Excel Interop 的樞紐型報告創建提供了強大的數據操作功能。 閱讀更多 發表日期 12月 18, 2025 使用 IronXL 將 C# DataGridView 匯出到 Excel,並帶有列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多 發表日期 12月 18, 2025 如何在 C# 中使用 IronXL 創建 Excel 生成報告 使用 IronXL 在 C# 中創建 Excel 報告生成。學習構建擁有格式化公式和數據庫集成的專業報告。 閱讀更多 如何在 C# 中讀取帶有逗號的 CSV 文件如何在 VB.NET 中將 DataGridVie...
發表日期 12月 19, 2025 如何使用 C# Interop 與 IronXL 在 Excel 中建立資料透視表 在無需 Office 依賴的情況下在 C# 中構建 Excel 樞紐分析表。IronXL 對無需 Excel Interop 的樞紐型報告創建提供了強大的數據操作功能。 閱讀更多
發表日期 12月 18, 2025 使用 IronXL 將 C# DataGridView 匯出到 Excel,並帶有列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多
發表日期 12月 18, 2025 如何在 C# 中使用 IronXL 創建 Excel 生成報告 使用 IronXL 在 C# 中創建 Excel 報告生成。學習構建擁有格式化公式和數據庫集成的專業報告。 閱讀更多