如何在 C# 中將 XLSX 轉換為 CSV、JSON、XML 等格式

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

IronXL使用簡單的單行命令將 Excel 檔案轉換為多種格式,包括 JSON、CSV、XML 和較舊的 Excel 格式(如 XLS),無需手動解析。

IronXL可以將任何 Excel 檔案轉換為各種格式,為開發人員提供在 C# 中處理 Excel 而無需 Interop 的工具。 無論是系統間資料遷移、為 Web 應用程式建立資料匯出,或是與舊系統集成, IronXL都能簡化轉換過程。

這些格式包括:用於現代 Web API 的 JSON、用於資料交換的 CSV、用於結構化資料儲存的 XML,以及用於向後相容的舊式 Excel 格式(如 XLS)。 每種格式都有其特定的使用場景-CSV 適用於資料庫導入,JSON 可與 REST API 集成,而 XML 可維護分層資料關係。

本文示範如何使用IronXL將 Excel 工作表轉換為 XML、CSV、JSON 格式,並將其匯出為資料集,以便與.NET資料控制項直接整合。

快速入門:一行程式碼即可將 XLSX 檔案轉換為 CSV

此範例展示了IronXL如何一行程式碼將現有的 Excel 工作簿轉換為 CSV 檔案。載入您的工作簿並直接將其另存為 CSV 檔案即可立即開始。

  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronXL.Excel

    PM > Install-Package IronXL.Excel
  2. 複製並運行這段程式碼。

    IronXl.WorkBook.Load("input.xlsx").SaveAsCsv("output.csv");
  3. 部署到您的生產環境進行測試

    今天就在您的專案中開始使用免費試用IronXL

    arrow pointer

步驟 1

如何安裝IronXL庫?

首先,請先安裝IronXL,然後再將其用於您的應用程式中。 IronXL支援.NET MAUIBlazor和傳統的.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();
$vbLabelText   $csharpLabel

上面的程式碼載入一個 XLSX 文件,新增標題,然後將其轉換為幾種格式。 轉換為 CSV 時, IronXL可以處理特殊字元、多行儲存格和正確的轉義。 對於 JSON 匯出,它會建立電子表格資料的結構化物件表示。 XML轉換會保留儲存格格式和資料類型。最後,它會將工作表匯出為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");
$vbLabelText   $csharpLabel

對於進階應用場景,您可以同時匯出為多種格式或高效處理大型檔案:

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);
}
$vbLabelText   $csharpLabel

下面顯示的是匯出的各種文件。

CSV 檔案匯出,在文字編輯器中顯示逗號分隔值,資料已正確轉義
圖 1 - CSV 檔案匯出
XML 匯出,顯示具有正確格式的元素和屬性的層次結構,表示 Excel 資料
圖 2 - XML 匯出
JSON 匯出,以JavaScript物件表示法格式顯示結構化數據,具有正確的巢狀和資料類型
圖 3 - JSON 導出
XLS 匯出檔案在 Microsoft Excel 中打開,顯示與舊版 Excel 格式相容,同時保留格式
圖 4 - XLS 導出
原始 Excel XLSX 文件,顯示轉換為各種格式之前的來源資料(包含多列和格式)
圖 5 -所有匯出檔案的 Excel 輸入

在現代應用中,每種轉換格式都有不同的用途。 CSV 檔案非常適合將資料匯入資料庫或資料分析工具。 JSON 格式適用於 Web API 和JavaScript應用程式。 XML 維護資料結構,常用於企業系統。 傳統的 XLS 格式可確保與舊版 Excel 和需要向後相容的系統相容。

在處理這些轉換時, IronXL會自動處理許多複雜情況: -字符編碼:國際字符採用正確的 UTF-8 編碼 -資料類型保留:保持數字、日期和文字格式 -公式求值:導出前計算公式結果 -大型檔案處理:高效利用記憶體處理大型電子表格 -錯誤處理:優雅地處理損壞或受保護的文件

對於需要高效能或處理檔案大小限制的應用, IronXL提供最佳化選項。 您可以將這些轉換整合到自動化工作流程、Web 服務或桌面應用程式中。


圖書館快速訪問

### IronXL API 參考文檔

使用便利的IronXL API 參考文檔,了解更多內容並分享如何在 Excel 電子表格中合併、取消合併和處理儲存格。

IronXL API 參考文檔
Documentation related to 如何將Excel檔案轉換為不同格式?

常見問題解答

如何在未安裝 Excel 的情況下,以 C# 將 XLSX 轉換為 CSV?

IronXL 讓您只需一行程式碼即可將 XLSX 轉換成 CSV:IronXl.WorkBook.Load("input.xlsx").SaveAsCsv("output.csv").此功能無需在您的系統上安裝 Microsoft Excel 或 Interop。

使用 C# 可以將 Excel 檔案轉換成哪些檔案格式?

IronXL.Excel 支援將 Excel 檔案轉換為多種格式,包括 CSV、JSON、XML、TSV 以及較舊的 Excel 格式 (如 XLS)。每種格式都適用於不同的使用情況 - CSV 適用於資料庫匯入,JSON 適用於 REST API,而 XML 則適用於維護階層式資料結構。

如何安裝 C# 的 Excel 轉換函式庫?

使用 NuGet 套件管理員搜尋「IronXL.Excel」或透過套件管理員控制台使用「Install-Package IronXL」指令安裝 IronXL。該函式庫支援 .NET MAUI、Blazor 以及傳統的 .NET 應用程式。

我可以將 Excel 轉換為 JSON 以便與 Web API 搭配使用嗎?

是的,IronXL.Excel 提供從 Excel 到 JSON 格式的內建轉換,可輕鬆將 Excel 資料與現代 Web API 和 REST 服務整合。轉換會自動處理複雜的資料結構。

Excel 轉換會處理特殊字符和格式嗎?

IronXL.Excel 在將 Excel 檔案轉換為 CSV 等格式時,會自動處理特殊字符、多行儲存格和適當的轉義。這樣就不需要手動解析或格式修正。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 1,913,565 | 版本: 2026.3 剛剛發布
Still Scrolling Icon

還在捲動嗎?

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