如何在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 APIs的JSON、資料交換的CSV、結構化資料儲存的XML,及用於向後相容的舊版Excel格式如XLS。 每種格式滿足特定的使用案例—CSV適合於資料庫導入,JSON與REST APIs整合,而XML則維持層次資料關係。

本文展示了如何使用IronXL轉換為XML、CSV、JSON,並將Excel工作表匯出為資料集,供.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();
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()
$vbLabelText   $csharpLabel

上面的程式碼載入一個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")
$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);
}
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
$vbLabelText   $csharpLabel

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

CSV文件匯出顯示逗號分隔的值在文字編輯器中,資料經過正確的轉義
Figure 1 - CSV File Export
XML匯出顯示分層結構,Excel資料的元素和屬性經過正確的格式化
Figure 2 - XML Export
JSON匯出顯示JavaScript物件表示格式的結構化資料,具有合適的巢狀和資料型別
Figure 3 - JSON Export
XLS匯出在Microsoft Excel中顯示與舊版Excel格式的相容性,同時保留格式
Figure 4 - XLS Export
原始Excel XLSX文件顯示來源資料,具有多欄和格式化,在轉換為各種格式之前
Figure 5 - Excel Input for all exports

每種轉換格式在現代應用程式中起不同目的。 CSV文件適合於導入資料到資料庫或資料分析工具。 JSON格式適用於Web APIs和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 文件轉換為多種格式,包括 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 格式時的正確逃脫,這消除了手動解析或格式修正的需要。

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
運行一個範例 觀看您的資料成為試算表。