如何在C#中導出Excel數據

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

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

處理 Excel 資料時,經常需要將電子表格匯出為不同的格式,以便與各種系統和應用程式整合。 本指南示範如何使用 C# 和 IronXL 將 Excel 檔案匯出為多種格式,包括.xlsx.xls.csv.xml.json ,而無需 Microsoft Office Interop 依賴項。

快速入門:一行程式碼即可將工作簿匯出為 JSON

使用 IronXL 直覺的 API,只需一行程式碼即可載入現有 Excel 檔案並將其匯出為 JSON。 開發人員無需編寫樣板程式碼即可開始匯出 Excel 文件,從而輕鬆實現資料交換。

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronXL

    PM > Install-Package IronXL.Excel

  2. 複製並運行這段程式碼。

    WorkBook workbook = WorkBook.Load("data.xlsx"); workbook.SaveAsJson("output.json");
  3. 部署到您的生產環境進行測試

    立即開始在您的專案中使用 IronXL,免費試用!
    arrow pointer

步驟 1

如何安裝 IronXL 以匯出 Excel 檔案?

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

Install-Package IronXL.Excel

安裝完成後,新增 IronXL 引用,即可透過IronXL命名空間存取所有 Excel 操作功能。 該程式庫支援.NET Framework、.NET Core 和 .NET 5+ 應用程序,使其與現代開發環境相容。


操作指南

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

IronXL 可實現從 Excel 工作簿到多種文件格式的無縫資料匯出。 該庫支援導出為:

  • Excel 格式: .xlsx (現代格式)與.xls (舊格式)
  • 資料交換格式: .csv.json.xml
  • 製表符分隔值: .tsv

每種格式都有其特定的使用場景——CSV 用於資料庫導入,JSON 用於 Web API,XML 用於企業系統整合。 我們還可以將上述文件格式匯出到各自的輸出流,以便與其他應用程式整合。 讓我們來探討如何實作每種導出類型。


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

使用 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 相容時特別有用。

導出為 XLSX 串流

或者,您也可以使用ToXlsxStream將文件匯出為 XLSX 格式,以便與其他應用程式整合。 以下是一個簡單的範例,說明如何操作。

: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 行的限制。

匯出到 XLS 串流

除了使用SaveAs匯出為傳統的 .XLS 格式外,IronXL 還支援匯出為 XLS 串流。

: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();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

如何在C#中將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 .xls file
workbook.SaveAsCsv("newFile.csv");
Imports IronXL

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

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

匯出多工作表工作簿時,IronXL 會為每個工作表建立單獨的 CSV 檔案。 對於包含三個工作表(分別名為"Sheet1"、"Sheet2"和"Sheet3")的工作簿,匯出後會產生:

在 Windows 資源管理器中,可以看到從 Excel 匯出的三個 CSV 文件,分別顯示為 exportsData.Sheet1.csv、exportedData.Sheet2.csv 和 exportsData.Sheet3.csv。

從包含三個工作表的 Excel 工作簿產生多個 CSV 文件,每個工作表都會匯出為單獨的 CSV 文件。

原始Excel檔案結構包含三個工作表:

Excel 工作簿在電子表格介面底部顯示三個工作表標籤,分別標記為 Sheet1、Sheet2 和 Sheet3。

原始 Excel 工作簿包含三個工作表,這些工作表將匯出為單獨的 CSV 檔案。

SaveAsCsv方法保留資料值,同時刪除格式、公式和其他 Excel 特有的功能。 這使得 CSV 成為將資料匯入資料庫或與其他應用程式進行處理的理想格式。

將 Excel 工作表匯出為 CSV 流

要將工作簿中指定的某個工作表轉換為 CSV 流,我們可以使用ToCsvStream方法,並提供一個整數,指示要作為 CSV 流傳回的工作表的索引。 下面是一個使用這種方法的範例。

: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 也支援將整個工作簿轉換為 CSV 串流; 我們改用ToCsvStreams方法來轉換工作簿中的所有工作表。

: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匯出對於將Excel資料與需要結構化資料格式的Web服務或系統整合尤其有價值。

以 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 的功能:

: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 的資料操作功能結合使用,在匯出之前轉換資料。

將 Excel 工作表匯出為 JSON 流

要將指定的工作表轉換為 JSON 流,我們使用ToJsonStream方法,並提供一個整數作為要轉換的工作表的索引。

: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方法。

: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

教程快速訪問

Documentation related to 教程快速訪問

API 參考文檔

探索完整的 IronXL API,包括所有命名空間、類別、方法和屬性,以實現進階 Excel 操作。

查看 API 參考

準備匯出Excel檔案?

IronXL 簡化了 C# 應用程式中的 Excel 檔案匯出操作。 無論是 Excel 格式之間的轉換,或是匯出為 CSV、JSON 或 XML 等資料交換格式,該程式庫都提供了直覺的方法,可以自動處理複雜的轉換。

立即使用IronXL 免費試用版,開始實作 Excel 匯出功能。 對於生產環境部署,請了解我們為各種規模的團隊設計的靈活授權選項

!{--01001100010010010100001001010010010000010101001001011001010 111110100011101000101010101010001011111010100110101010001000001 010100100101010001000101010001000101111101010111010010010101010 001001000010111110101000001010101000010010000101111101010000010 1001001001111010001000101010101000011010101010001011111010101000101001001001001010101010001010010010010010100001010101010101 010101011000010101000100010101001110010001000101010001000101111101000010010011000100111110100010010011000100111100

常見問題解答

如何使用 C# 將 Excel 資料匯出到多種格式?

您可以使用 IronXL 將 Excel 資料匯出到不同格式,例如 .xls.xlsx.csv.xml.json,通過使用相應的方法如 SaveAsCsv()SaveAsXml(),和 SaveAsJson()

我需要 Microsoft Office 才能在 C# 中匯出 Excel 文件嗎?

不,您不需要安裝 Microsoft Office。IronXL 提供了一個獨立的解決方案來匯出 Excel 文件,而無需依賴 Microsoft.Office.Interop.Excel。

如何在 C# 中將 Excel 文件匯出為 JSON 格式?

使用 IronXL 的 SaveAsJson() 方法將 Excel 資料轉換為 JSON 格式,通過創建基於數組的 JSON 結構來實現與 Web API 的輕鬆集成。

使用 IronXL 匯出 Excel 文件有哪些先決條件?

確保通過 NuGet 或手動將 IronXL 添加到項目中,在匯出文件名中包含正確的文件擴展名,並使用與您的所需格式對應的正確匯出方法。

我可以選擇特定的 Excel 工作表進行匯出嗎?

可以,IronXL 允許您選擇特定的工作表進行匯出,可以使用 WorkBook.WorkSheets[index]WorkBook.GetWorkSheet(name),然後對所選工作表應用如 SaveAsCsv() 的匯出方法。

如何將匯出的 Excel 文件保存到特定目錄?

SaveAs() 方法參數中指定完整文件路徑,以將匯出文件保存到自定義目錄,而不是默認的 bin\Debug 文件夾。

我應該使用什麼方法將 Excel 資料匯出到 XML?

IronXL 提供了一個 SaveAsXml() 方法,可以將每個工作表匯出為單獨的 XML 文件,保留資料結構,使其適合需要 XML 輸入的應用程序的集成。

如何在 C# 中將 Excel 文件匯出為 CSV 格式?

使用 IronXL 的 SaveAsCsv() 方法將 Excel 文件匯出為 CSV 格式,它會自動處理具有多個工作表的工作簿,為每個工作表創建單獨的 CSV 文件。

使用 IronXL 進行 Excel 匯出操作的好處是什麼?

IronXL 以其直觀的 API 簡化了複雜的匯出操作,使開發者能夠轉換 Excel 文件到多種格式,同時確保資料完整性,無需 Microsoft Office 依賴。

Jacob Mellor, Team Iron 首席技术官
首席技术官

Jacob Mellor 是 Iron Software 的首席技術官,作為 C# PDF 技術的先鋒工程師。作為 Iron Software 核心代碼的原作者,他自開始以來塑造了公司產品架構,與 CEO Cameron Rimington 一起將其轉變為一家擁有超過 50 名員工的公司,為 NASA、特斯拉 和 全世界政府機構服務。

Jacob 持有曼徹斯特大學土木工程一級榮譽学士工程學位(BEng) (1998-2001)。他於 1999 年在倫敦開設了他的第一家軟件公司,並於 2005 年製作了他的首個 .NET 組件,專注於解決 Microsoft 生態系統內的複雜問題。

他的旗艦產品 IronPDF & Iron Suite .NET 庫在全球 NuGet 被安裝超過 3000 萬次,其基礎代碼繼續為世界各地的開發工具提供動力。擁有 25 年的商業經驗和 41 年的編碼專業知識,Jacob 仍專注於推動企業級 C#、Java 及 Python PDF 技術的創新,同時指導新一代技術領袖。

準備好開始了嗎?
Nuget 下載 1,738,553 | Version: 2025.11 剛發表