如何在 C# 中將 XLSX 轉換為 CSV、JSON、XML 等格式
IronXL 可透過簡單的一行指令,將 Excel 檔案轉換為多種格式,包括 JSON、CSV、XML 以及 XLS 等舊版 Excel 格式,從而省去手動解析的步驟。
IronXL 可將任何 Excel 檔案轉換為多種格式,為開發人員提供在 C# 中無需 Interop 即可處理 Excel 的工具。 無論是進行系統間的資料遷移、為網頁應用程式建立資料匯出功能,還是與舊有系統整合,IronXL 都能簡化轉換流程。
這些格式包括:用於現代 Web API 的 JSON、用於資料交換的 CSV、用於結構化資料儲存的 XML,以及為確保向下相容性而保留的舊版 Excel 格式(如 XLS)。 每種格式皆適用於特定情境——CSV 適合資料庫匯入,JSON 可與 REST API 整合,而 XML 則能維持資料的層級關係。
本文將示範如何使用 IronXL 將資料轉換為 XML、CSV、JSON,並將 Excel 工作表匯出為資料集,以便直接與 .NET 資料控制項整合。
快速入門:僅需一行代碼即可將 XLSX 檔案轉換為 CSV
此範例展示 IronXL 如何透過單行程式碼,將現有的 Excel 工作簿轉換為 CSV 檔案。載入您的工作簿並直接儲存為 CSV 格式,即可立即開始使用。
簡化工作流程(5 個步驟)
- 下載 C# 函式庫,將 XLSX 轉換為 CSV
- 載入現有的 XLSX Excel 試算表
- 存取或修改工作簿
- 匯出為 CSV 檔案或其他多種格式,包括 JSON、TSV 及 XML
- 檢查輸出檔案並進行後續處理
步驟 1
如何安裝 IronXL 程式庫?
首先,請在應用程式中使用 IronXL 之前先安裝它。 IronXL 支援 .NET MAUI、Blazor 以及傳統的 .NET 應用程式。 請使用以下任一種安裝方式:
下載:https://ironsoftware.com/csharp/excel/docs/
或使用 NuGet 套件管理員:
- 在"解決方案總覽"中右鍵點擊解決方案名稱
- 點擊"管理 NuGet 套件"
- 瀏覽
IronXl.Excel - 安裝
Install-Package IronXL.Excel
操作教學
如何將 Excel 檔案轉換為不同格式?
IronXL 提供轉換功能,可自動處理複雜的解析與格式化作業。
請加入以下程式碼:
:path=/static-assets/excel/content-code-examples/how-to/csharp-convert-xlsx-csv-convert.cs
using IronXL;
// Load an existing Excel workbook
WorkBook workbook = WorkBook.Load("Normal_Excel_File.xlsx");
// Set metadata title for the workbook
workbook.Metadata.Title = "Normal_Excel_File.xlsx";
// Save the workbook in different formats
workbook.SaveAs("XLS_Export.xls");
workbook.SaveAs("XLSX_Export.xlsx");
workbook.SaveAsCsv("CSV_Export.csv");
workbook.SaveAsJson("JSON_Export.json");
workbook.SaveAsXml("XML_Export.xml");
// Convert the workbook to a DataSet, allowing integration with other data tools like DataGridView
System.Data.DataSet dataSet = workbook.ToDataSet();
Imports IronXL
' Load an existing Excel workbook
Dim workbook As WorkBook = WorkBook.Load("Normal_Excel_File.xlsx")
' Set metadata title for the workbook
workbook.Metadata.Title = "Normal_Excel_File.xlsx"
' Save the workbook in different formats
workbook.SaveAs("XLS_Export.xls")
workbook.SaveAs("XLSX_Export.xlsx")
workbook.SaveAsCsv("CSV_Export.csv")
workbook.SaveAsJson("JSON_Export.json")
workbook.SaveAsXml("XML_Export.xml")
' Convert the workbook to a DataSet, allowing integration with other data tools like DataGridView
Dim dataSet As System.Data.DataSet = workbook.ToDataSet()
上述程式碼會載入一個 XLSX 檔案,新增標題,然後將其轉換為多種格式。 轉換為 CSV 格式時,IronXL 會處理特殊字元、多行儲存格以及正確的轉義。 針對 JSON 匯出功能,它會將您的試算表資料轉為結構化的物件表示形式。 XML 轉換會保留儲存格格式與資料類型。最後,它會將 Worksheet 匯出為 DataSet,以便與 DataGridView 物件配合使用,這在處理 DataTables 時效果良好。
以下是另一個範例,展示如何使用自訂選項轉換特定工作表:
using IronXL;
// Load workbook and select specific worksheet
WorkBook workbook = WorkBook.Load("MultiSheet.xlsx");
WorkSheet sheet = workbook.WorkSheets["SalesData"];
// Convert just one worksheet to CSV with custom delimiter
sheet.SaveAsCsv("SalesData.csv", delimiter: ";");
// Export to JSON with formatting preserved
var jsonOptions = new JsonSaveOptions
{
PreserveFormatting = true,
IncludeHeaders = true
};
sheet.SaveAsJson("SalesData.json", jsonOptions);
// Convert to XML with custom root element
sheet.SaveAsXml("SalesData.xml", "SalesReport");
using IronXL;
// Load workbook and select specific worksheet
WorkBook workbook = WorkBook.Load("MultiSheet.xlsx");
WorkSheet sheet = workbook.WorkSheets["SalesData"];
// Convert just one worksheet to CSV with custom delimiter
sheet.SaveAsCsv("SalesData.csv", delimiter: ";");
// Export to JSON with formatting preserved
var jsonOptions = new JsonSaveOptions
{
PreserveFormatting = true,
IncludeHeaders = true
};
sheet.SaveAsJson("SalesData.json", jsonOptions);
// Convert to XML with custom root element
sheet.SaveAsXml("SalesData.xml", "SalesReport");
Imports IronXL
' Load workbook and select specific worksheet
Dim workbook As WorkBook = WorkBook.Load("MultiSheet.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets("SalesData")
' Convert just one worksheet to CSV with custom delimiter
sheet.SaveAsCsv("SalesData.csv", delimiter:=";")
' Export to JSON with formatting preserved
Dim jsonOptions As New JsonSaveOptions With {
.PreserveFormatting = True,
.IncludeHeaders = True
}
sheet.SaveAsJson("SalesData.json", jsonOptions)
' Convert to XML with custom root element
sheet.SaveAsXml("SalesData.xml", "SalesReport")
針對進階情境,您可以同時匯出至多種格式,或高效處理大型檔案:
using IronXL;
using System.Threading.Tasks;
// Async conversion for large files
public async Task ConvertLargeFileAsync(string inputPath)
{
WorkBook workbook = WorkBook.Load(inputPath);
// Parallel export to multiple formats
var tasks = new[]
{
Task.Run(() => workbook.SaveAsCsv("output.csv")),
Task.Run(() => workbook.SaveAsJson("output.json")),
Task.Run(() => workbook.SaveAsXml("output.xml"))
};
await Task.WhenAll(tasks);
}
using IronXL;
using System.Threading.Tasks;
// Async conversion for large files
public async Task ConvertLargeFileAsync(string inputPath)
{
WorkBook workbook = WorkBook.Load(inputPath);
// Parallel export to multiple formats
var tasks = new[]
{
Task.Run(() => workbook.SaveAsCsv("output.csv")),
Task.Run(() => workbook.SaveAsJson("output.json")),
Task.Run(() => workbook.SaveAsXml("output.xml"))
};
await Task.WhenAll(tasks);
}
Imports IronXL
Imports System.Threading.Tasks
' Async conversion for large files
Public Async Function ConvertLargeFileAsync(inputPath As String) As Task
Dim workbook As WorkBook = WorkBook.Load(inputPath)
' Parallel export to multiple formats
Dim tasks = New Task() {
Task.Run(Sub() workbook.SaveAsCsv("output.csv")),
Task.Run(Sub() workbook.SaveAsJson("output.json")),
Task.Run(Sub() workbook.SaveAsXml("output.xml"))
}
Await Task.WhenAll(tasks)
End Function
各類匯出檔案如下所示。
在現代應用程式中,每種轉換格式皆有其不同的用途。 CSV 檔案非常適合用於將資料匯入資料庫或資料分析工具。 JSON 格式適用於 Web API 和 JavaScript 應用程式。 XML 能維持資料結構,並廣泛應用於 Enterprise 系統中。 傳統的 XLS 格式可確保與舊版 Excel 以及需要向下相容性的系統保持相容性。
在處理這些轉換時,IronXL 會自動處理許多複雜情況:
- 字元編碼:採用正確的 UTF-8 編碼以支援國際字元
- 資料型別保留:維持數值、日期及文字的格式設定
- 公式評估:在匯出前計算公式結果
- 大檔案處理:針對大型試算表提供高效的記憶體使用效率
- 錯誤處理:對損壞或受保護的檔案進行優雅處理
對於需要高效能或需處理檔案大小限制的應用,IronXL 提供了優化選項。 您可以將這些轉換功能整合至自動化工作流程、網路服務或桌面應用程式中。
函式庫快速存取
常見問題
如何在未安裝 Excel 的情況下,使用 C# 將 XLSX 轉換為 CSV?
IronXL 讓您只需一行程式碼即可將 XLSX 轉換為 CSV:IronXl.WorkBook.Load("input.xlsx").SaveAsCsv("output.csv")。此功能無需在系統上安裝 Microsoft Excel 或 Interop 即可運作。
using C# 可以將 Excel 檔案轉換為哪些檔案格式?
IronXL 支援將 Excel 檔案轉換為多種格式,包括 CSV、JSON、XML、TSV 以及 XLS 等舊版 Excel 格式。每種格式皆適用於不同的使用情境——CSV 適用於資料庫匯入、JSON 適用於 REST API,而 XML 則適用於維護階層式資料結構。
如何安裝適用於 C# 的 Excel 轉換函式庫?
請透過 NuGet 套件管理員搜尋「IronXL.Excel」,或透過套件管理員主控台執行「Install-Package IronXL」指令來安裝 IronXL。此程式庫支援 .NET MAUI、Blazor 以及傳統的 .NET 應用程式。
我能否將 Excel 轉換為 JSON 以供 Web API 使用?
是的,IronXL 提供內建的 Excel 轉 JSON 格式轉換功能,讓您能輕鬆將 Excel 資料與現代的 Web API 及 REST 服務整合。此轉換功能會自動處理複雜的資料結構。
Excel 轉換功能是否支援特殊字元與格式設定?
IronXL 在將 Excel 檔案轉換為 CSV 等格式時,會自動處理特殊字元、多行儲存格以及適當的轉義符號。這消除了手動解析或修正格式的需求。

