如何使用IronXL在 C# .NET中寫入 CSV 文件

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronXL提供了一種簡單的方法,可以透過載入 Excel 工作簿並將其儲存為 CSV 格式,使用一行程式碼即可在.NET中將資料寫入 CSV 文件,從而消除手動解析。

快速入門:使用IronXL將 Excel 工作簿另存為 CSV 文件

本範例展示如何使用IronXL將現有的 Excel 檔案轉換為 CSV 檔案。 載入工作簿並呼叫 SaveAsCsv — 無需手動解析。

  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronXL.Excel

    PM > Install-Package IronXL.Excel
  2. 複製並運行這段程式碼。

    IronXl.WorkBook.Load("MyExcel.xlsx").SaveAsCsv("MyExcel.csv");
  3. 部署到您的生產環境進行測試

    今天就在您的專案中開始使用免費試用IronXL

    arrow pointer
## 如何在.NET中寫入 CSV 文件
  • 新增IronXL庫
  • 使用 C# 建立工作簿
  • 將 Excel 工作簿儲存為 CSV 檔案格式
How To Work related to 如何使用IronXL在 C# .NET中寫入 CSV 文件

步驟 1

如何將IronXL添加到我的專案中?

我應該使用哪種安裝方法?

如果您尚未安裝IronXL ,請依照下列步驟操作:

  • 開啟 Visual Studio 並選擇"專案"選單。
  • 點選"管理NuGet套件"。
  • 搜尋IronXl.Excel。 點選"安裝"。

如果我更喜歡使用命令列呢?

在開發者命令提示字元中使用以下命令:

Install-Package IronXL.Excel

哪裡可以找到更多資源?

如需更多教學和指導,請造訪: https://ironsoftware.com/csharp/excel/docs/ 。 有關 CSV 讀取操作,請參閱我們的C# 讀取 CSV 檔案指南。 點擊此處下載範例項目。


操作指南

如何建立用於匯出CSV檔案的Excel工作簿?

我的工作簿應該包含哪些資料?

CSV(逗號分隔值)檔案因其格式簡單、相容性強而被廣泛用於應用程式之間的資料交換。 無論是匯出資料進行分析、建立報告,還是與其他系統集成, IronXL都能讓整個流程變得無縫銜接。

首先,建立一個包含範例資料的 Excel 工作簿。 如果您需要以程式設計方式建立 Excel 檔案的協助,請造訪我們在.NET中建立 Excel 檔案的教學課程

顯示範例資料的Excel電子表格,包含標題和行,可匯出為CSV檔案
圖 1 -要匯出為 CSV 格式的普通 Excel 數據

我需要匯入哪個命名空間?

新增IronXL命名空間以在 C# 中寫入 CSV 檔案:

using IronXL;
using IronXL;
$vbLabelText   $csharpLabel

如何將我的工作簿儲存為 CSV 檔案?

我需要寫什麼程式碼才能將Excel轉換為CSV?

以下 C# 程式碼示範如何使用 WorkBook 物件的 Load 方法載入 Excel 文件,然後使用 SaveAs 方法將其另存為 CSV 檔案。此方法可自動處理資料類型、特殊字元和格式:

:path=/static-assets/excel/content-code-examples/how-to/csharp-write-to-csv-file-save.cs
using IronXL;

// Load the existing Excel workbook
WorkBook wb = WorkBook.Load("Normal_Excel_File.xlsx"); // Import .xls, .csv, or .tsv file

// Save the workbook as a CSV file with the worksheet name appended
wb.SaveAs("Excel_To_CSV.csv"); // Exported as: Excel_To_CSV.Sheet1.csv
$vbLabelText   $csharpLabel

如何將特定工作表儲存為 CSV 檔案?

使用多工作表工作簿時,您可以匯出特定的工作表。 IronXL為此提供了靈活的解決方案。 請閱讀我們的文檔,以了解更多關於管理工作表的資訊:

using IronXL;

// Load workbook and access specific worksheet
WorkBook workBook = WorkBook.Load("MultiSheet_Excel.xlsx");
WorkSheet sheet = workBook.GetWorkSheet("Sales_Data");

// Save only the specific worksheet as CSV
sheet.SaveAsCsv("Sales_Data_Export.csv");

// Alternatively, save with custom delimiter
sheet.SaveAsCsv("Sales_Data_Tab.tsv", delimiter: "\t");
using IronXL;

// Load workbook and access specific worksheet
WorkBook workBook = WorkBook.Load("MultiSheet_Excel.xlsx");
WorkSheet sheet = workBook.GetWorkSheet("Sales_Data");

// Save only the specific worksheet as CSV
sheet.SaveAsCsv("Sales_Data_Export.csv");

// Alternatively, save with custom delimiter
sheet.SaveAsCsv("Sales_Data_Tab.tsv", delimiter: "\t");
$vbLabelText   $csharpLabel

CSV 輸出結果是什麼樣子的?

在文字編輯器中開啟輸出的 CSV 檔案時,檔案內容如下所示。 請注意IronXL如何正確格式化數據,使用逗號作為分隔符,並處理包含特殊字元的文字欄位:

CSV 檔案的文字編輯器視圖,顯示格式和結構正確的逗號分隔資料
圖 2 -輸出 CSV 文件

如何處理多個工作表?

當您的 Excel 檔案包含多個工作表時, IronXL提供了多種 CSV 匯出方法。 在我們的綜合指南中了解更多關於轉換電子表格文件類型的信息:

using IronXL;
using System;

// Load workbook with multiple sheets
WorkBook workBook = WorkBook.Load("MultipleSheets.xlsx");

// Method 1: Export all sheets to separate CSV files
foreach (WorkSheet sheet in workBook.WorkSheets)
{
    string fileName = $"{sheet.Name}_Export.csv";
    sheet.SaveAsCsv(fileName);
    Console.WriteLine($"Exported {sheet.Name} to {fileName}");
}

// Method 2: Combine all sheets into one CSV
var combinedData = workBook.GetWorkSheet(0);
for (int i = 1; i < workBook.WorkSheets.Count; i++)
{
    var currentSheet = workBook.GetWorkSheet(i);
    // Add logic to append data from currentSheet to combinedData
}
combinedData.SaveAsCsv("Combined_Output.csv");
using IronXL;
using System;

// Load workbook with multiple sheets
WorkBook workBook = WorkBook.Load("MultipleSheets.xlsx");

// Method 1: Export all sheets to separate CSV files
foreach (WorkSheet sheet in workBook.WorkSheets)
{
    string fileName = $"{sheet.Name}_Export.csv";
    sheet.SaveAsCsv(fileName);
    Console.WriteLine($"Exported {sheet.Name} to {fileName}");
}

// Method 2: Combine all sheets into one CSV
var combinedData = workBook.GetWorkSheet(0);
for (int i = 1; i < workBook.WorkSheets.Count; i++)
{
    var currentSheet = workBook.GetWorkSheet(i);
    // Add logic to append data from currentSheet to combinedData
}
combinedData.SaveAsCsv("Combined_Output.csv");
$vbLabelText   $csharpLabel

那麼性能方面又該如何考慮呢?

對於大型 Excel 文件, IronXL提供高效的串流功能,可最大限度地減少記憶體使用。 處理大型資料集時,請使用 IronXL 的最佳化方法。 請參閱我們的指南,了解如何將資料匯出為各種格式,以應對進階場景。

我可以使用數據表嗎?

IronXL與 .NET 的 DataTable 結構無縫集成,可輕鬆地從資料庫或記憶體集合中匯出資料。 請參閱我們關於將 DataTable 轉換為 CSV 的教學課程:

using IronXL;
using System.Data;

// Create a DataTable with sample data
DataTable dataTable = new DataTable();
dataTable.Columns.Add("ID", typeof(int));
dataTable.Columns.Add("Name", typeof(string));
dataTable.Columns.Add("Price", typeof(decimal));

// Add sample rows
dataTable.Rows.Add(1, "Product A", 29.99m);
dataTable.Rows.Add(2, "Product B", 49.99m);

// Convert DataTable to WorkSheet
WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Products");
sheet.InsertDataTable(dataTable, "A1");

// Save as CSV
workBook.SaveAsCsv("Products.csv");
using IronXL;
using System.Data;

// Create a DataTable with sample data
DataTable dataTable = new DataTable();
dataTable.Columns.Add("ID", typeof(int));
dataTable.Columns.Add("Name", typeof(string));
dataTable.Columns.Add("Price", typeof(decimal));

// Add sample rows
dataTable.Rows.Add(1, "Product A", 29.99m);
dataTable.Rows.Add(2, "Product B", 49.99m);

// Convert DataTable to WorkSheet
WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Products");
sheet.InsertDataTable(dataTable, "A1");

// Save as CSV
workBook.SaveAsCsv("Products.csv");
$vbLabelText   $csharpLabel

如何設定許可?

在部署 CSV 匯出解決方案之前,請正確配置IronXL授權。 請造訪我們的許可證密鑰使用指南,以了解如何在不同環境下套用許可證。


圖書館快速訪問

### IronXL API 參考文檔

Learn more and share how to merge, unmerge, and work with cells in Excel spreadsheets using the IronXL API 參考文檔. For detailed method signatures and additional CSV export options, consult our [API Reference](https://ironsoftware.com/csharp/excel/object-reference/api/).

IronXL API 參考文檔
Documentation related to 圖書館快速訪問

常見問題解答

如何在 C# 中編寫 CSV 檔案而不需要手動解析?

IronXL 提供簡單的單行解決方案,透過載入 Excel 工作簿,並使用 SaveAsCsv 方法將其儲存為 CSV 格式,即可用 C# 寫入 CSV 檔案,省去手動解析或複雜字串操作的需要。

在 .NET 中將 Excel 轉換為 CSV 的最快方法是什麼?

使用 IronXL,您只需一行代碼即可將 Excel 檔案轉換為 CSV:IronXl.WorkBook.Load("MyExcel.xlsx").SaveAsCsv("MyExcel.csv").這會自動處理所有資料類型、特殊字符和格式。

如何安裝 C# 寫 CSV 檔案的函式庫?

您可以透過 Visual Studio 的 NuGet Package Manager 搜尋「IronXL.Excel」來安裝 IronXL,或使用 Developer Command Prompt 搭配適當的安裝指令來安裝。

CSV 作業需要匯入哪個命名空間?

若要使用 IronXL 撰寫 CSV 檔案,您需要在 C# 檔案頂端加入「using IronXL;」,以匯入 IronXL 命名空間。

我可以將特定的工作表儲存為 CSV 格式嗎?

是的,IronXL.Excel 允許您將 Excel 工作簿中的個別工作表儲存為 CSV 格式,讓您可以靈活地只匯出需要的資料,而不是整個工作簿。

轉換為 CSV 時支援哪些資料格式?

IronXL.Excel 將 Excel 工作簿轉換為 CSV 格式時,會自動處理各種資料類型,包括文字、數字、日期和特殊字符,確保整個轉換過程中的資料完整性。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 1,913,565 | 版本: 2026.3 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想要快速證明? PM > Install-Package IronXL.Excel
執行範例 觀看您的資料變成試算表。