C# 匯出至 Excel:完整開發者指南
使用 IronXL 在 C# 中將 Excel 檔案匯出為多種格式,包括 .xml 以及 .json,且無需依賴 Microsoft Office。 該函式庫針對每種匯出格式皆提供單行方法。
快速入門:一行指令將工作簿匯出為 JSON
透過 IronXL 的 API,只需一行程式碼即可載入現有的 Excel 檔案並將其匯出為 JSON。 無需撰寫重複性程式碼,即可開始匯出 Excel 檔案。
簡化工作流程(6 個步驟)
- 下載 C# 函式庫以匯出 Excel 檔案
- 使用
WorkBook.Load()方法載入現有的 Excel 工作簿 - 匯出為 XLSX 格式,並使用
.xlsx副檔名 - 使用
SaveAsCsv()將 Excel 檔案轉換為 CSV - 使用
SaveAsXml()將試算表資料匯出為 XML - 使用
SaveAsJson()從 Excel 產生 JSON 檔案
步驟 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 則適用於 Enterprise 系統整合。 將這些格式匯出至各自的輸出流,以便與其他應用程式整合。 該函式庫在內部處理所有試算表檔案類型的轉換,並在整個過程中確保資料的完整性。
如何在 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");
Imports IronXL
' Import .xls, .csv, or .tsv file
Dim workbook As WorkBook = WorkBook.Load("XlsFile.xls")
' Export as .xlsx file
workbook.SaveAs("newFile.xlsx")
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.
Imports IronXL
' Load the workbook
Dim workbook As WorkBook = WorkBook.Load("xlsFile.xlsx")
' Exports the workbook to a XLSX stream.
Dim stream = workbook.ToXlsxStream()
' Use the stream with other services
' Example: Upload to cloud storage, send via web API, etc.
如何將 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");
Imports IronXL
' Import .xlsx, .csv or .tsv file
Dim workbook As WorkBook = WorkBook.Load("XlsxFile.xlsx")
' Export as .xls file
workbook.SaveAs("newFile.xls")
此轉換版本與 Excel 97-2003 版本保持相容性。 SaveAs 方法會在內部處理格式轉換,在適應 .xls 格式的限制(例如每張工作表 65,536 行上限)的同時,確保資料的完整性。 對於需要管理大型資料集工作表的應用程式,建議繼續採用現代化的 .xlsx 格式。
何時應匯出至 XLS Stream?
IronXL 亦支援匯出為 XLS 流。 這在與需要 XLS 格式、但透過 API 而非檔案系統運作的傳統 Enterprise 系統整合時,特別有用:
: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
Imports IronXL
' Load the workbook
Dim workbook As WorkBook = WorkBook.Load("xlsxFile.xlsx")
' Exports the workbook to a XLS stream.
Dim stream = workbook.ToXlsStream()
' Stream can be used for legacy system integration
' Example: Send to legacy API endpoints, store in binary databases
如何在 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");
Imports IronXL
' Import .xlsx or .xls file
Dim workbook As WorkBook = WorkBook.Load("sample.xlsx")
' Export as .csv file
workbook.SaveAsCsv("newFile.csv")
在匯出多工作表的工作簿時,IronXL 會為每個工作表建立獨立的 CSV 檔案。 對於包含三個名為"Sheet1"、"Sheet2"和"Sheet3"工作表的工作簿,匯出時會產生:
由三張工作表組成的 Excel 工作簿所產生多個 CSV 檔案,每張工作表皆匯出為獨立的 CSV 檔案
SaveAsCsv 方法在移除格式、公式及其他 Excel 特有功能的同時,能保留資料值。 這使得 CSV 成為將資料匯入資料庫或透過其他應用程式進行處理的理想選擇。 若需在匯出前進行更複雜的資料處理,請參閱《將 DataTables 轉換為 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
Imports IronXL
' Load the workbook
Dim workbook As WorkBook = WorkBook.Load("sample.xlsx")
' Exports the first sheet of the workbook to a CSV stream
Dim stream = workbook.ToCsvStream(0)
' Process the stream (e.g., upload to API, save to database)
' The stream contains only data from the first worksheet
如何將所有工作表匯出至 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
Imports IronXL
' Load the workbook
Dim workbook As WorkBook = WorkBook.Load("sample.xlsx")
' Exports the entire workbook to CSV streams
Dim workBookStream = workbook.ToCsvStreams()
' Each stream in the collection represents a worksheet
' Process streams individually for batch operations
如何將 Excel 資料匯出為 XML?
XML 匯出功能可實現與 Enterprise 系統之間的結構化資料交換。 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");
Imports IronXL
' Import .xlsx, .xls or .csv file
Dim workbook As WorkBook = WorkBook.Load("sample.xlsx")
' Export as .xml file
workbook.SaveAsXml("newFile.xml")
SaveAsXml 方法會將每個工作表轉換為獨立的 XML 檔案,其中以結構化形式呈現試算表資料。 這包括:
- 儲存格值與資料類型
- 行與列的定位
- 基本結構資訊
XML 匯出功能對於將 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);
// 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
Imports IronXL
' Load the workbook
Dim workbook As WorkBook = WorkBook.Load("sample.xlsx")
' Converts the first worksheet to a XML Stream
Dim stream = workbook.ToXmlStream(0)
' Stream can be processed without file I/O operations
' Ideal for web services and API integrations
如何將多個工作表匯出為 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
Imports IronXL
' Load the workbook
Dim workbook As WorkBook = WorkBook.Load("sample.xlsx")
' Exports the entire workbook to XML streams
Dim workBookStream = workbook.ToXmlStreams()
' Each stream represents a worksheet in XML format
' Perfect for batch processing and parallel operations
如何從 Excel 檔案產生 JSON?
現代的網路應用程式通常需要使用 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");
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");
Imports IronXL
' Import Excel file
Dim workbook As WorkBook = WorkBook.Load("sample.xlsx")
' Export as JSON file
workbook.SaveAsJson("newFile.json")
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
Imports IronXL
' Load the workbook
Dim workbook As WorkBook = WorkBook.Load("sample.xlsx")
' Exports the first sheet of the workbook to a JSON stream
Dim stream = workbook.ToJsonStream(0)
' Stream can be returned directly in web API responses
' No temporary files needed for JSON conversion
何時應將整個工作簿匯出為 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
Imports IronXL
' Load the workbook
Dim workbook As WorkBook = WorkBook.Load("sample.xlsx")
' Exports the entire workbook to JSON streams
Dim workBookStream = workbook.ToJsonStreams()
' Each stream contains JSON data for one worksheet
' Maintains workbook structure in JSON format
有哪些資源有助於 Excel 匯出開發?
準備好匯出 Excel 檔案了嗎?
IronXL 可簡化 C# 應用程式中的 Excel 檔案匯出操作。 無論是轉換 Excel 格式,還是匯出至 CSV、JSON 或 XML 等資料交換格式,此函式庫皆提供直覺的方法,可自動處理複雜的轉換作業。
立即免費試用 IronXL,開始實作 Excel 匯出功能。 針對生產環境部署,請探索專為各類規模團隊設計的彈性授權方案。
常見問題
如何在 C# 中不使用 Microsoft Office 將 Excel 檔案匯出為不同格式?
IronXL 讓您能夠將 Excel 檔案匯出為多種格式,包括 XLSX、XLS、CSV、XML 和 JSON,且無需依賴 Microsoft Office。IronXL程式庫針對每種匯出格式提供簡單的一行式方法,讓您能輕鬆地透過程式碼在不同檔案類型之間進行轉換。
在 C# 中,將 Excel 檔案轉換為 JSON 的最簡單方法是什麼?
透過 IronXL,您只需兩行程式碼即可將 Excel 檔案轉換為 JSON:WorkBook workbook = WorkBook.Load("data.xlsx"); workbook.SaveAsJson("output.json");。這種直觀的方法省去了複雜的解析或手動資料擷取的步驟。
using C# 時,Excel 資料可匯出至哪些檔案格式?
IronXL 支援將 Excel 工作簿匯出為多種格式,包括:Excel 格式(.xlsx 和 .xls)、資料交換格式(.csv、.json 和 .xml),以及以制表符分隔的值(.tsv)。每種格式皆針對特定使用情境進行了最佳化,例如資料庫匯入、Web API 或企業系統整合。
我該如何為我的 C# 專案安裝 Excel 匯出函式庫?
您可以透過 NuGet 套件管理員安裝 IronXL,或直接下載 DLL 檔案。此程式庫支援 .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 格式,以及針對 Excel 格式搭配適當副檔名的標準 Save() 方法。這些方法會在內部處理所有檔案類型的轉換。


