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

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

IronXL for .NET 提供了一種簡單的方法,透過載入 Excel 工作簿並將其儲存為 CSV 格式,只需一行程式碼即可在 .NET 中將資料寫入 CSV 檔案,省去了手動解析的過程。

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

本範例說明如何使用 IronXL.Excel 將現有的 Excel 檔案轉換為 CSV。 載入工作簿並呼叫 SaveAsCsv - 不需要手動解析。

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronXL

    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。 點選"安裝"。

如果我更喜歡命令列呢?

在 Developer Command Prompt 中使用以下命令:

Install-Package IronXL.Excel

我在哪裡可以找到更多資源?

如需其他教程和指導,請造訪:https://ironsoftware.com/csharp/excel/docs/。 有關 CSV 讀取作業,請參閱我們的指南 如何在 C# 中讀取 CSV 檔案。 下載範例專案 此處


操作指南

如何為 CSV 匯出建立 Excel 工作簿?

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

CSV (Comma-Separated Values) 檔案因其簡單的格式和普遍的相容性,廣泛用於應用程式之間的資料交換。 無論是匯出資料進行分析、建立報告,或是與其他系統整合,IronXL 都能讓整個過程天衣無縫。

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

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

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

加入 IronXL 命名空間,以 C# 撰寫 CSV 檔案:

using IronXL;
using IronXL;
Imports 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
Imports IronXL

' Load the existing Excel workbook
Dim wb As WorkBook = 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");
Imports IronXL

' Load workbook and access specific worksheet
Dim workBook As WorkBook = WorkBook.Load("MultiSheet_Excel.xlsx")
Dim sheet As WorkSheet = 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:=vbTab)
$vbLabelText   $csharpLabel

CSV 輸出是什麼樣子?

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

CSV 檔案的文字編輯器檢視,顯示以逗號分隔的資料,並有適當的格式和結構
圖 2 -輸出 CSV 文件

如何處理多個工作表?

當您的 Excel 檔案包含多個工作表時,IronXL.Excel 提供多種 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");
Imports IronXL
Imports System

' Load workbook with multiple sheets
Dim workBook As WorkBook = WorkBook.Load("MultipleSheets.xlsx")

' Method 1: Export all sheets to separate CSV files
For Each sheet As WorkSheet In workBook.WorkSheets
    Dim fileName As String = $"{sheet.Name}_Export.csv"
    sheet.SaveAsCsv(fileName)
    Console.WriteLine($"Exported {sheet.Name} to {fileName}")
Next

' Method 2: Combine all sheets into one CSV
Dim combinedData = workBook.GetWorkSheet(0)
For i As Integer = 1 To workBook.WorkSheets.Count - 1
    Dim currentSheet = workBook.GetWorkSheet(i)
    ' Add logic to append data from currentSheet to combinedData
Next
combinedData.SaveAsCsv("Combined_Output.csv")
$vbLabelText   $csharpLabel

效能考量如何?

對於大型 Excel 檔案,IronXL.Excel 提供高效率的串流功能,可將記憶體使用量降至最低。 在處理大量資料集時,請使用 IronXL 的最佳化方法。 請參閱我們的 將資料匯出為各種格式的指南,以瞭解進階方案。

我可以使用 DataTables 嗎?

IronXL for .NET 與 .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");
Imports IronXL
Imports System.Data

' Create a DataTable with sample data
Dim dataTable As New DataTable()
dataTable.Columns.Add("ID", GetType(Integer))
dataTable.Columns.Add("Name", GetType(String))
dataTable.Columns.Add("Price", GetType(Decimal))

' Add sample rows
dataTable.Rows.Add(1, "Product A", 29.99D)
dataTable.Rows.Add(2, "Product B", 49.99D)

' Convert DataTable to WorkSheet
Dim workBook As WorkBook = WorkBook.Create()
Dim sheet As WorkSheet = 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 bots,將他對技術的熱愛與創意結合。

準備好開始了嗎?
Nuget 下載 1,846,091 | 版本: 2026.2 剛剛發布