如何在C#中導出Excel數據

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

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

使用IronXL在 C# 中將 Excel 檔案匯出為多種格式,包括 .csv、@ Microsoft@--CODE-306--@@ 和 .json,無需 Microsoft Office 依賴項。 該庫為每種匯出格式提供一行式方法。

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

使用 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提供了一種在.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?

使用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");
using IronXL;

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

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

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

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

SaveAs 方法會根據檔案副檔名自動偵測所需的格式。 從 .xls 轉換為 .xlsx 時,所有工作表、公式、格式和資料類型均得以保留。此轉換在更新舊版 Excel 檔案以使其與新版 Office 相容時特別有用。

如何將Excel匯出為XLSX串流?

使用 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();

// Use the stream with other services
// Example: Upload to cloud storage, send via web API, etc.
using IronXL;

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

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

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

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

// Use the stream with other services
// Example: Upload to cloud storage, send via web API, etc.
$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");
using IronXL;

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

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

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

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

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

何時應該導出為 XLS Stream?

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();

// Stream can be used for legacy system integration
// Example: Send to legacy API endpoints, store in binary databases
using IronXL;

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

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

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

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

// Stream can be used for legacy system integration
// Example: Send to legacy API endpoints, store in binary databases
$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 .csv file
workbook.SaveAsCsv("newFile.csv");
using IronXL;

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

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

//  Import .xlsx or xls file
WorkBook 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);

// Process the stream (e.g., upload to API, save to database)
// The stream contains only data from the first worksheet
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);
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);

// Process the stream (e.g., upload to API, save to database)
// The stream contains only data from the first worksheet
$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 CSV streams
var workBookStream = workbook.ToCsvStreams();

// Each stream in the collection represents a worksheet
// Process streams individually for batch operations
using IronXL;

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

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

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

// Exports the entire workbook to CSV streams
var workBookStream = workbook.ToCsvStreams();

// Each stream in the collection represents a worksheet
// Process streams individually for batch operations
$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");
using IronXL;

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

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

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

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

SaveAsXml 方法將每個工作表轉換為單獨的 XML 文件,其中包含電子表格資料的結構化表示。 這包括:

  • 儲存格值和資料類型
  • 行和列定位
  • 基本結構訊息

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

// Stream can be processed without file I/O operations
// Ideal for web services and API integrations
using IronXL;

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

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

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

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

// Stream can be processed without file I/O operations
// Ideal for web services and API integrations
$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 XML streams
var workBookStream = workbook.ToXmlStreams();

// Each stream represents a worksheet in XML format
// Perfect for batch processing and parallel operations
using IronXL;

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

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

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

// Exports the entire workbook to XML streams
var workBookStream = workbook.ToXmlStreams();

// Each stream represents a worksheet in XML format
// Perfect for batch processing and parallel operations
$vbLabelText   $csharpLabel

如何從Excel檔案產生JSON?

現代Web應用程式通常需要JSON格式進行資料交換。 IronXL提供直接的 JSON 匯出功能,可將 Excel 資料轉換為適合 Web 的 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");
using IronXL;

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

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

// Import Excel file
WorkBook 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);

// Stream can be returned directly in web API responses
// No temporary files needed for JSON conversion
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);
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);

// Stream can be returned directly in web API responses
// No temporary files needed for JSON conversion
$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 JSON streams
var workBookStream = workbook.ToJsonStreams();

// Each stream contains JSON data for one worksheet
// Maintains workbook structure in JSON format
using IronXL;

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

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

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

// Exports the entire workbook to JSON streams
var workBookStream = workbook.ToJsonStreams();

// Each stream contains JSON data for one worksheet
// Maintains workbook structure in JSON format
$vbLabelText   $csharpLabel

哪些資源可以幫助進行Excel導出開發?

Documentation related to 哪些資源可以幫助進行Excel導出開發?
### API 參考文檔

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

查看 API 參考

準備匯出Excel檔案?

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

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

立即開始在您的項目中使用 IronXL 並免費試用。

第一步:
green arrow pointer

常見問題解答

不使用 Microsoft Office,如何在 C# 中將 Excel 檔案匯出為不同格式?

IronXL.Excel 可讓您將 Excel 檔案匯出為多種格式,包括 XLSX、XLS、CSV、XML 和 JSON,而不需要 Microsoft Office 的相依性。該函式庫針對每種匯出格式提供簡單的單行方法,讓您可以輕鬆地以程式方式在不同檔案類型之間進行轉換。

用 C# 將 Excel 檔案轉換為 JSON 的最簡單方法是什麼?

使用 IronXL,您只需兩行程式碼即可將 Excel 檔案轉換為 JSON:WorkBook workbook = WorkBook.Load("data.xlsx"); workbook.SaveAsJson("output.json");.這種直截了當的方法省去了複雜的解析或手動資料擷取。

使用 C# 可以將 Excel 資料匯出成哪些檔案格式?

IronXL 支援將 Excel 工作簿匯出為各種格式,包括Excel 格式 (.xlsx和.xls)、資料交換格式 (.csv、.json 和.xml),以及以標籤分割的值 (.tsv)。每種格式都針對特定使用情況進行最佳化,例如資料庫匯入、Web API 或企業系統整合。

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

您可以透過 NuGet Package Manager 或直接下載 DLL 來安裝 IronXL。該函式庫支援 .NET Framework、.NET Core 和 .NET 5+ 應用程式,使其與 Azure 和 Docker 部署等現代開發環境相容。

我可以用 C# 將傳統的 XLS 檔案轉換成現代的 XLSX 格式嗎?

是的,IronXL 使 Excel 格式之間的轉換變得簡單。您可以使用 WorkBook.Load() 載入較舊的 .xls 檔案,並將其儲存為現代的 .xlsx 檔案,在整個轉換過程中保留所有資料的完整性。

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

IronXL 為每種匯出格式提供了專用的方法:SaveAsCsv() 適用於 CSV 檔案,SaveAsJson() 適用於 JSON 輸出,SaveAsXml() 適用於 XML 格式,而標準 Save() 則適用於 Excel 格式的擴充檔。這些方法在內部處理所有檔案類型的轉換。

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

Jacob Mellor是Iron Software的首席技術官,也是開創C# PDF技術的前瞻性工程師。作為Iron Software核心代碼庫的原始開發者,他自公司成立以來就塑造了公司的產品架構,並與CEO Cameron Rimington將公司轉型為服務NASA、Tesla以及全球政府機構的50多人公司。

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

他的旗艦作品IronPDF和Iron Suite .NET程式庫全球已獲得超過3000萬次NuGet安裝,他的基礎代碼不斷在全球各地驅動開發者工具。擁有25年以上的商業經驗和41年的編碼專業知識,Jacob仍然專注於推動企業級C#、Java和Python PDF技術的創新,同時指導下一代技術領導者。

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

還在捲動嗎?

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