如何使用 IronXL 在 C# .NET 中寫入 CSV
IronXL 提供了一種簡便的方式,讓開發者能在 .NET 環境中將資料寫入 CSV 檔案:只需一行程式碼即可載入 Excel 工作簿並將其儲存為 CSV 格式,節省手動解析的步驟。
快速入門:使用 IronXL 將 Excel 工作簿儲存為 CSV 檔案
此範例展示如何使用 IronXL 將現有的 Excel 檔案轉換為 CSV 格式。 載入工作簿並呼叫 SaveAsCsv — 無需手動解析。
如何在 .NET 中寫入 CSV
- 新增 IronXL 程式庫
- 使用 C# 建立工作簿
- 將 Excel 工作簿儲存為 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 檔案的教學指南:
我需要導入哪個命名空間?
在 C# 中寫入 CSV 檔案時,請加入 IronXL 命名空間:
using IronXL;
using IronXL;
Imports IronXL
如何將工作簿儲存為 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
如何將特定工作表儲存為 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)
CSV 輸出檔的樣式為何?
在文字編輯器中開啟時,輸出 CSV 檔案的樣式如下所示。 請注意 IronXL 如何正確地以逗號作為分隔符來格式化資料,並處理包含特殊字元的文字欄位:
如何處理多個工作表?
當您的 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");
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")
關於效能考量呢?
對於大型 Excel 檔案,IronXL 提供高效的串流處理功能,可將記憶體使用量降至最低。 處理大量資料集時,請使用 IronXL 的優化方法。 請參閱我們關於將資料匯出至各種格式的指南,以應對進階情境。
我可以與 DataTables 配合使用嗎?
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");
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")
如何設定授權?
在部署 CSV 匯出解決方案之前,請先正確設定您的 IronXL 授權。 請參閱我們的授權金鑰使用指南,了解如何在不同環境中套用授權。
函式庫快速存取
IronXL API 參考文件
請參閱 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.常見問題
如何在 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 套件管理員搜尋「IronXl.Excel」來安裝 IronXL,或使用開發人員命令提示字元並輸入相應的安裝指令。
進行 CSV 操作時,我需要導入哪個命名空間?
若要使用 IronXL 寫入 CSV 檔案,您需要在 C# 檔案頂端加入 'using IronXL;' 來導入 IronXL 命名空間。
我可以將特定工作表儲存為 CSV 格式嗎?
是的,IronXL 允許您將 Excel 工作簿中的個別工作表儲存為 CSV 格式,讓您能靈活地僅匯出所需資料,而非整個工作簿。
轉換為 CSV 時支援哪些資料格式?
IronXL 在將 Excel 工作簿轉換為 CSV 格式時,會自動處理各種資料類型,包括文字、數字、日期和特殊字元,確保整個轉換過程中的資料完整性。

