如何在C#中將XLSX轉換為CSV、JSON、XML等格式
IronXL 將Excel文件轉換為多種格式,包括JSON、CSV、XML和較舊的Excel格式如XLS,使用簡單的單行命令來消除手動解析。
IronXL 將任何Excel文件轉換為多種格式,提供開發者在C#中處理Excel的工具而不使用Interop。 無論是資料在系統之間遷移、建立Web應用程式的資料匯出,還是與遺留系統整合,IronXL 簡化了轉換過程。
這些格式包括:現代Web APIs的JSON、資料交換的CSV、結構化資料儲存的XML,及用於向後相容的舊版Excel格式如XLS。 每種格式滿足特定的使用案例—CSV適合於資料庫導入,JSON與REST APIs整合,而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轉換保留單元格格式和資料型別。最後,它將DataGridView物件使用,這在處理DataTables時效果很好。
這裡有一個例子顯示如何使用自定義選項轉換特定的工作表:
:path=/static-assets/excel/content-code-examples/how-to/csharp-convert-xlsx-to-csv-4.cs
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
sheet.SaveAsJson("SalesData.json");
// Convert to XML
sheet.SaveAsXml("SalesData.xml");
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
sheet.SaveAsJson("SalesData.json")
' Convert to XML
sheet.SaveAsXml("SalesData.xml")
對於高級場景,您可以同時匯出為多種格式或有效處理大文件:
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 APIs和JavaScript應用程式。 XML維持資料結構,通常用於企業系統。 舊版XLS格式確保與舊版Excel版本的相容性和需要向後相容的系統。
使用這些轉換的過程中,IronXL自動處理許多複雜性:
- 字元編碼:國際字元的正確UTF-8編碼
- 資料型別保留:維持數字、日期和文字格式
- 公式計算:在匯出前計算公式結果
- 大文件處理:大電子表格的高效記憶體使用
- 錯誤處理:優雅地處理損壞或受保護的文件
對於需要高性能或處理文件大小限制的應用程式,IronXL提供優化選項。 您可以將這些轉換整合到自動化工作流、Web服務或桌面應用程式中。
程式庫快捷存取
常見問題
如何在沒有安裝 Excel 的情況下在 C# 中將 XLSX 轉換為 CSV?
IronXL 允許您使用一行程式碼將 XLSX 轉換為 CSV:IronXL.WorkBook.Load("input.xlsx").SaveAsCsv("output.csv")。這是在您的系統上無需安裝 Microsoft Excel 或 Interop 的情況下運行的。
我可以使用 C# 將 Excel 文件轉換為哪些文件格式?
IronXL 支援將 Excel 文件轉換為多種格式,包括 CSV、JSON、XML、TSV 和較舊的 Excel 格式如 XLS。每種格式對不同的使用案例都很理想——CSV 用於資料庫匯入,JSON 用於 REST API,XML 用於維護階層式的資料結構。
我如何安裝 C# 的 Excel 轉換程式庫?
using NuGet 套件管理器搜尋 'IronXL.Excel' 安裝 IronXL,或在套件管理器主控台下輸入命令 'Install-Package IronXL'。該程式庫支援 .NET MAUI、Blazor 和傳統的 .NET 應用。
我可以為用於網頁 API 的 JSON 格式轉換 Excel 嗎?
是的,IronXL 提供內建的 Excel 至 JSON 格式轉換,使整合 Excel 資料與現代網頁 API 和 REST 服務變得容易。轉換會自動處理複雜的資料結構。
Excel 轉換是否處理特殊字元和格式?
IronXL 自動處理特殊字元、多行儲存格,以及在將 Excel 文件轉換為 CSV 格式時的正確逃脫,這消除了手動解析或格式修正的需要。

