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

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

IronXL提供了一種簡單的方法來在.NET中將資料寫入CSV檔案,通過載入Excel工作簿並使用一行程式碼將其儲存為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 如何在C# .NET中使用IronXL寫入CSV

第1步

我如何在專案中新增IronXL?

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

如果您尚未安裝IronXL,請按照這些步驟進行:

  • 開啟Visual Studio並選擇專案選單。
  • 點擊管理NuGet套件。
  • 搜索IronXL.Excel
  • 點擊安裝。

如果我更喜歡使用命令列怎麼辦?

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

Install-Package IronXL.Excel

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

欲獲得更多教程和指導,請存取:https://ironsoftware.com/csharp/excel/docs/。 有關CSV讀取操作,請參閱我們的指南如何在C#中讀取CSV檔案。 在此處下載範例專案。


教程指南

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

我的工作簿應包含什麼資料?

CSV(逗號分隔值)檔案由於其簡單的格式和普遍相容性被廣泛用於應用程式之間的資料交換。 無論是匯出資料進行分析,建立報告或與其他系統整合,IronXL使此過程變得輕鬆流暢。

首先,建立一個包含範例資料的Excel工作簿。 如果您需要程式化建立Excel檔案的幫助,請存取我們的在.NET中建立Excel檔案的教程

Excel電子表格顯示具備匯出CSV準備的標題和行範例資料
Figure 1 - Normal Excel data to be exported to CSV

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

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

:path=/static-assets/excel/content-code-examples/how-to/csharp-write-to-csv-file-3.cs
using IronXL;
Imports IronXL
$vbLabelText   $csharpLabel

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

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

以下C#程式碼展示了如何使用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為此情況提供了靈活的選項。 了解更多關於管理工作表的資訊,請參閱我們的文件:管理工作表

:path=/static-assets/excel/content-code-examples/how-to/csharp-write-to-csv-file-5.cs
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文件的文字編輯器視圖,顯示正確格式和結構下的逗號分隔資料
Figure 2 - Output CSV file

我如何處理多個工作表?

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

:path=/static-assets/excel/content-code-examples/how-to/csharp-write-to-csv-file-6.cs
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.WorkSheets[0];
for (int i = 1; i < workBook.WorkSheets.Count; i++)
{
    var currentSheet = workBook.WorkSheets[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.WorkSheets(0)
For i As Integer = 1 To workBook.WorkSheets.Count - 1
    Dim currentSheet = workBook.WorkSheets(i)
    ' Add logic to append data from currentSheet to combinedData
Next
combinedData.SaveAsCsv("Combined_Output.csv")
$vbLabelText   $csharpLabel

性能考量是什麼?

對於大型的Excel文件,IronXL提供了高效的流能力,最小化了記憶體使用。 在處理龐大的資料集時,請使用IronXL的優化方法。 查看我們的匯出資料到各種格式的指南以獲得高級場景。

我可以使用DataTables嗎?

IronXL與.NET的DataTable結構無縫整合,方便從資料庫或記憶體集合中匯出資料。 參閱我們的教程將DataTable轉換為CSV

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

// Create a DataTable with sample data (the table name becomes the worksheet name)
DataTable dataTable = new DataTable("Products");
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);

// Wrap the DataTable in a DataSet — each table is loaded as its own worksheet
DataSet dataSet = new DataSet();
dataSet.Tables.Add(dataTable);

// Load the DataSet into a new workbook
WorkBook workBook = WorkBook.Create();
WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook);

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

' Create a DataTable with sample data (the table name becomes the worksheet name)
Dim dataTable As New DataTable("Products")
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)

' Wrap the DataTable in a DataSet — each table is loaded as its own worksheet
Dim dataSet As New DataSet()
dataSet.Tables.Add(dataTable)

' Load the DataSet into a new workbook
Dim workBook As WorkBook = WorkBook.Create()
WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook)

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

我如何設置授權?

在部署您的CSV匯出解決方案之前,請正確配置您的IronXL授權。 存取我們的指南使用授權密鑰以了解如何在不同環境中應用授權。


程式庫快速存取

IronXL API參考文件

了解更多內容並共享如何合併、取消合併和使用Excel電子表格中的儲存格,使用IronXL API參考文件。 有關詳細的方法描述和其他CSV匯出選項,請參閱我們的API參考

IronXL API參考文件 Also refer to our [API Reference](https://ironsoftware.com/csharp/excel/object-reference/api/) for full details.
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,或者使用開發者命令提示符執行適當的安裝命令。

我需要導入哪個命名空間以進行CSV操作?

要使用IronXL寫入CSV文件,您需要在C#文件的頂部加上'using IronXL;'來導入IronXL命名空間。

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

是的,IronXL允許您從Excel工作簿中將單個工作表保存為CSV格式,讓您可以靈活地只導出所需的資料而不是整個工作簿。

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

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

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備好開始了嗎?
Nuget 下載 2,134,203 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

仍在滾動嗎?

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