如何使用 C# 匯出 Excel 資料

C# 匯出到 Excel:完整開發者指南

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

在 C# 中使用 IronXL 將 Excel 文件匯出為多種格式,包括 .xml.json,無需依賴 Microsoft Office。 該程式庫為每種匯出格式提供單行方法。

快速入門:一行程式碼匯出工作簿到 JSON

using IronXL 的 API 只需一行程式碼即可載入現有的 Excel 文件並將其匯出到 JSON。 開始匯出 Excel 文件,無需撰寫樣板程式碼。

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

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

    WorkBook workbook = WorkBook.Load("data.xlsx"); workbook.SaveAsJson("output.json");
  3. 部署以在您的實時環境中測試

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

    arrow pointer

步驟 1

如何安裝 IronXL 以匯出 Excel?

IronXL.Excel IronXL 提供了一種在 .NET 應用程式中處理 Excel 文件的直接方法。 直接下載 IronXL DLL通過 NuGet 安裝以進行開發和測試。

Install-Package IronXL.Excel

安裝後,新增 IronXL 引用,以通過 IronXL 命名空間存取所有 Excel 操作功能。 該程式庫支持.NET Framework、.NET Core 和 .NET 5+ 應用程式,使其與現代開發環境相容。 針對特定部屬情況,請參考部屬到 Azure在 Docker 中設置的指南。


教程

C# 支持哪些 Excel 匯出格式?

IronXL 使得可以將 Excel 工作簿中的資料匯出為多種文件格式。 該程式庫支持匯出到:

  • Excel 格式:.xlsx(現代)和 .xls(傳統)
  • 資料交換格式:.json.xml
  • 標籤分隔值:.tsv

每種格式都有其特定的用途—CSV 用于資料庫匯入,JSON 用于 Web API,XML 用于企業系統整合。 將這些格式匯出到各自的輸出流,以整合到其他應用程式中。 該程式庫在試算表文件型別轉換內部進行處理,確保在整個過程中維護資料完整性。


如何在 C# 中將 Excel 匯出為 XLSX?

using IronXL 在 Excel 格式之間轉換很容易。 以下範例演示載入舊版 .xls 文件並將其保存為現代 .xlsx 文件:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-xlsx.cs
using IronXL;

// Import .xls, .csv, or .tsv file
WorkBook workbook = WorkBook.Load("XlsFile.xls");

// Export as .xlsx file
workbook.SaveAs("newFile.xlsx");
Imports IronXL

' Import .xls, .csv, or .tsv file
Private workbook As WorkBook = WorkBook.Load("XlsFile.xls")

' Export as .xlsx file
workbook.SaveAs("newFile.xlsx")
$vbLabelText   $csharpLabel

SaveAs 方法會根據文件副檔名自動檢測所需格式。 從 .xls 轉換為 .xlsx 時,該過程會保留所有工作表、公式、格式和資料型別。這種轉換對於將舊版 Excel 文件現代化以相容較新 Office 版本特別有用。

如何將 Excel 匯出為 XLSX 流?

using ToXlsxStream 將文件匯出為 XLSX 流以整合到其他應用程式中。 此方法在使用雲端儲存服務或在記憶體中處理 Excel 資料時不建立臨時文件是不可或缺的:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-xlsx-stream.cs
using IronXL;

// Load the workbook
WorkBook workbook = WorkBook.Load("xlsFile.xlsx");

// Exports the workbook to a XLSX stream.
var stream = workbook.ToXlsxStream();
Imports IronXL

' Load the workbook
Private workbook As WorkBook = WorkBook.Load("xlsFile.xlsx")

' Exports the workbook to a XLSX stream.
Private stream = workbook.ToXlsxStream()
$vbLabelText   $csharpLabel

如何將 Excel 匯出為 XLS 格式?

傳統系統有時需要較舊的 .xls 格式。 IronXL 在維持向後相容性的同時處理此轉換:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-xls.cs
using IronXL;

// Import .xlsx, .csv or .tsv file
WorkBook workbook = WorkBook.Load("XlsxFile.xlsx");

// Export as .xls file
workbook.SaveAs("newFile.xls");
Imports IronXL

' Import .xlsx, .csv or .tsv file
Private workbook As WorkBook = WorkBook.Load("XlsxFile.xlsx")

' Export as .xls file
workbook.SaveAs("newFile.xls")
$vbLabelText   $csharpLabel

此轉換相容 Excel 97-2003 版本。 SaveAs 方法會在內部處理格式轉換,確保資料完整性,同時適應 .xls 格式限制,例如每個工作表的 65,536 行限制。 對於需要管理大量資料集的工作表的應用,請考慮使用現代 .xlsx 格式。

何時應匯出為 XLS 流?

IronXL 還支持匯出為 XLS 流。 這在與需要 XLS 格式但通過 API 而非文件系統運行的傳統企業系統整合時特別有用:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-xls-stream.cs
using IronXL;

// Load the workbook
WorkBook workbook = WorkBook.Load("xlsxFile.xlsx");

// Exports the workbook to a XLS stream.
var stream = workbook.ToXlsStream();
Imports IronXL

' Load the workbook
Dim workbook As WorkBook = WorkBook.Load("xlsxFile.xlsx")

' Exports the workbook to a XLS stream.
Dim stream = workbook.ToXlsStream()
$vbLabelText   $csharpLabel

如何將 Excel 轉換為 CSV 格式?

CSV 匯出對於不同系統之間的資料交換至關重要。 IronXL 提供專用的 CSV 轉換方法,能夠智能地處理多工作表工作簿:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-csv.cs
using IronXL;

//  Import .xlsx or xls file
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Export as .csv file
workbook.SaveAsCsv("newFile.csv");
Imports IronXL

' Import .xlsx or .xls file
Dim workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Export as .csv file
workbook.SaveAsCsv("newFile.csv")
$vbLabelText   $csharpLabel

在匯出多工作表工作簿時,IronXL 為每個工作表建立單獨的 CSV 文件。 對於具有三個工作表名為"Sheet1"、"Sheet2"和"Sheet3"的工作簿,匯出將生成:

三個 Excel 轉換產生的 CSV 文件:NewCsvFile.Sheet1.csv、Sheet2.csv 和 Sheet3.csv,具有 Excel 圖示

從一個三工作表 Excel 工作簿中生成的多個 CSV 文件,每個工作表匯出為單獨的 CSV 文件

SaveAsCsv 方法保留資料值,同時去除格式、公式和其他 Excel 特定功能。 這使得 CSV 成為匯入資料到資料庫或使用其他應用程式處理的理想選擇。 若在匯出之前需要更複雜的資料操作,請探索將 DataTable 轉換為 CSV的指南。

如何將單個工作表匯出為 CSV 流?

要將工作簿中的指定工作表轉換為 CSV 流,請使用 ToCsvStream 方法,並用整數表示工作表索引。 此方法在獨立處理特定工作表時很有用:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-csv-stream.cs
using IronXL;

// Load the workbook
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Exports the first sheet of the workbook to a CSV stream
var stream = workbook.ToCsvStream(0);
Imports IronXL

' Load the workbook
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Exports the first sheet of the workbook to a CSV stream
Private stream = workbook.ToCsvStream(0)
$vbLabelText   $csharpLabel

如何將所有工作表匯出為 CSV 流?

IronXL 支持使用 ToCsvStreams 方法將整個工作簿轉換為 CSV 流。 這會返回一個流集合,每個工作表一個:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-csv-streams.cs
using IronXL;

// Load the workbook
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Exports the entire workbook to a CSV stream
var workBookStream = workbook.ToCsvStreams();
Imports IronXL

' Load the workbook
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Exports the entire workbook to a CSV stream
Private workBookStream = workbook.ToCsvStreams()
$vbLabelText   $csharpLabel

如何將 Excel 資料匯出為 XML?

XML 匯出支持與企業系統的結構化資料交換。 IronXL 簡化了此過程,同時保留試算表資料的層次結構:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-xml.cs
using IronXL;

// Import .xlsx, .xls or .csv file
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Export as .xml file
workbook.SaveAsXml("newFile.xml");
Imports IronXL

' Import .xlsx, .xls or .csv file
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Export as .xml file
workbook.SaveAsXml("newFile.xml")
$vbLabelText   $csharpLabel

SaveAsXml 方法將每個工作表轉換為單獨的 XML 文件,結構化地表示試算表資料。 這包括:

  • 單元格資料和值型別
  • 行和列定位
  • 基本結構資訊

XML 匯出對於與 Web 服務整合 Excel 資料或需要結構化資料格式的系統特別有價值。 有關更高級的 Excel 轉換情況,請參考將 XLSX 轉換為多種格式的綜合指南。

何時應使用 XML 流匯出?

要將指定的工作表匯出為 XML 流,請使用 ToXmlStream 方法,並以整數參數表示工作表索引。 這在實時資料處理情況下是理想的:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-xml-stream.cs
using IronXL;

// Load the workbook
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Converts the first worksheet to a XML Stream
var stream = workbook.ToXmlStream(0);
Imports IronXL

' Load the workbook
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Converts the first worksheet to a XML Stream
Private stream = workbook.ToXmlStream(0)
$vbLabelText   $csharpLabel

如何將多個工作表匯出為 XML 流?

要將整個工作簿匯出為 XML 流,請使用 ToXmlStreams 方法。 這種方法保持工作表之間的分離,同時允許程式存取每個工作表:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-xml-streams.cs
using IronXL;

// Load the workbook
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Exports the entire workbook to a XML stream
var workBookStream = workbook.ToXmlStreams();
Imports IronXL

' Load the workbook
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Exports the entire workbook to a XML stream
Private workBookStream = workbook.ToXmlStreams()
$vbLabelText   $csharpLabel

如何從 Excel 文件生成 JSON?

現代 Web 應用常常需要 JSON 格式進行資料交換。 IronXL 提供直接的 JSON 匯出功能,將 Excel 資料轉換為網頁友好的 JSON 結構:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-json.cs
using IronXL;

// Import Excel file
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Export as JSON file
workbook.SaveAsJson("newFile.json");
Imports IronXL

' Import Excel file
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Export as JSON file
workbook.SaveAsJson("newFile.json")
$vbLabelText   $csharpLabel

SaveAsJson 方法通過陣列結構表示試算表資料生成 JSON 文件。 每個工作表匯出為單獨的 JSON 文件,使得它容易:

  • 與 RESTful API 整合
  • 在 JavaScript 應用中處理資料
  • 在 NoSQL 資料庫中儲存試算表資料

對於高級場景,可將 JSON 匯出與IronXL 的資料操作功能結合使用,以在匯出之前轉換資料。 這在需要通過 Web API 提供 Excel 資料的ASP.NET Web 應用中特別有用。

如何將單個工作表匯出為 JSON 流?

要將指定的工作表轉換為 JSON 流,請使用 ToJsonStream 方法,並以整數為工作表索引。 這允許直接的 API 響應流,無需中間文件:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-json-stream.cs
using IronXL;

// Load the workbook
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Exports the first sheet of the workbook to a JSON stream
var stream = workbook.ToJsonStream(0);
Imports IronXL

' Load the workbook
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Exports the first sheet of the workbook to a JSON stream
Private stream = workbook.ToJsonStream(0)
$vbLabelText   $csharpLabel

何時將整個工作簿匯出為 JSON 流?

要將整個工作簿轉換為 JSON 流,請使用 ToJsonStreams 方法。 當在 JSON 輸出中保留工作表結構時,這種方法是有利的:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-export-to-excel-json-streams.cs
using IronXL;

// Load the workbook
WorkBook workbook = WorkBook.Load("sample.xlsx");

// Exports the entire workbook to a JSON stream
var workBookStream = workbook.ToJsonStreams();
Imports IronXL

' Load the workbook
Private workbook As WorkBook = WorkBook.Load("sample.xlsx")

' Exports the entire workbook to a JSON stream
Private workBookStream = workbook.ToJsonStreams()
$vbLabelText   $csharpLabel

哪些資源有助於 Excel 匯出開發?

Documentation related to 哪些資源有助於 Excel 匯出開發?

API 參考文件

探索完整的 IronXL API,包括所有命名空間、類別、方法和屬性,用於高級的 Excel 操作。

查看 API 參考

準備匯出 Excel 文件了嗎?

IronXL 簡化了 C# 應用中的 Excel 文件匯出操作。 無論是 Excel 格式轉換還是匯出到像 CSV、JSON 或 XML 這樣的資料交換格式,該程式庫都提供直觀的方法,自動處理複雜的轉換。

今天開始實施 Excel 匯出功能,免費試用 IronXL。 對於生產部屬,探索適合所有規模團隊的靈活授權選項

現在開始使用IronXL。
green arrow pointer

常見問題

如何在 C# 中將 Excel 文件匯出為不同格式而無需 Microsoft Office?

IronXL 允許您將 Excel 文件匯出到多種格式,包括 XLSX、XLS、CSV、XML 和 JSON,無需 Microsoft Office 依賴。該程式庫為每種匯出格式提供了簡單的一行方法,使得程式化地在不同文件型別之間作轉換變得簡單。

將 Excel 文件轉換為 JSON 在 C# 中最簡單的方法是什麼?

using IronXL,您隻需兩行程式碼即可將 Excel 文件轉換為 JSON:WorkBook workbook = WorkBook.Load(“data.xlsx”); workbook.SaveAsJson(“output.json”);。這種簡單的方法消除了複雜解析或手動資料提取的需求。

我可以使用 C# 將 Excel 資料匯出為哪些文件格式?

IronXL 支持將 Excel 工作簿匯出為各種格式,包括:Excel 格式 (.xlsx 和 .xls)、資料交換格式 (.csv, .json, 和 .xml),以及制表符分隔值 (.tsv)。每種格式都針對特定用途進行優化,比如資料庫匯入、網路 API、或企業系統整合。

如何為我的 C# 專案安裝 Excel 匯出程式庫?

您可以通過 NuGet 套件管理器或直接下載 DLL 來安裝 IronXL。該程式庫支持 .NET Framework, .NET Core 和 .NET 5+ 應用程式,使其與現代開發環境相容,包括 Azure 和 Docker 部署。

我可以在 C# 中將舊版 XLS 文件轉換為現代的 XLSX 格式嗎?

可以,IronXL 可輕鬆地在 Excel 格式間轉換。您可以使用 WorkBook.Load() 載入舊的 .xls 文件,然後將其作為現代的 .xlsx 文件保存,保留在轉換過程中的所有資料完整性。

該程式庫提供哪些方法來匯出 Excel 資料?

IronXL 為每一種匯出格式提供了專門的方法:用於 CSV 文件的 SaveAsCsv(),用於 JSON 輸出的 SaveAsJson(),用於 XML 格式的 SaveAsXml(),以及用適當的擴展名的標準 Save() 用於 Excel 格式。這些方法內部處理了所有文件型別的轉換。

Jacob Mellor,首席技術官 @ Team Iron
首席技術官

Jacob Mellor是Iron Software的首席技術官,一位在C# PDF技術上開創先河的遠見工程師。作為Iron Software核心程式碼庫的原開發者,他從創立以來就一直在塑造公司的產品架構,與首席執行官Cameron Rimington一起將公司轉變為服務於NASA、特斯拉和全球政府公司的50多名人員的公司。

Jacob擁有曼徹斯特大學的土木工程一等榮譽學士學位(BEng),於1998-2001年之間獲得。在1999年於倫敦創辦他的第一家軟體公司並於2005年建立了他的第一批.NET元組件後,他專注於解決Microsoft生態系統中的複雜問題。

他的旗艦IronPDF和Iron Suite .NET程式庫在全球獲得了超過3000萬次NuGet安裝依據,他的基礎程式碼基繼續支援著世界各地開發者使用的工具。擁有25年的商業經驗和41年的程式設計專業知識,他仍專注於推動企業級C#、Java和Python PDF技術的創新,同時指導下一代技術領導者。

準備好開始了嗎?
Nuget 下載 2,150,290 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

仍在滾動嗎?

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