如何在C#中導出Excel數據

C# Export to Excel: Complete Developer Guide

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。

標題:2(快速入門:在一行中匯出工作簿為 JSON)

使用 IronXL 的直觀 API,只需一行即可載入現有的 Excel 文件並將其匯出為 JSON。 開發者可以在不編寫樣板代碼的情況下開始匯出 Excel 文件,使數據交換變得輕鬆。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. Copy and run this code snippet.

    WorkBook workbook = WorkBook.Load("data.xlsx"); workbook.SaveAsJson("output.json");
  3. Deploy to test on your live environment

    Start using IronXL in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

最小化工作流程(5 個步驟)

  1. 下載 C# 庫以匯出 Excel 文件
  2. 使用 `WorkBook.Load()` 方法載入現有的 Excel 工作簿
  3. 使用 `.xlsx` 擴展名匯出為 XLSX 格式
  4. 使用 `SaveAsCsv()` 將 Excel 文件轉換為 CSV
  5. 使用 `SaveAsXml()` 將電子表格數據導出為 XML
  6. 使用 `SaveAsJson()` 從 Excel 生成 JSON 文件


class="tutorial-segment-title">步驟 1

如何安裝 IronXL 以進行 Excel 匯出?

IronXL 提供一種簡化的方法來在 .NET 應用程式中處理 Excel 文件。 Download the IronXL DLL directly or NuGet 進行安裝以進行開發和測試。

Install-Package IronXL.Excel

安裝後,添加 IronXL 參考以通過IronXL命名空間訪問所有 Excel 操作功能。 此庫支持.NET Framework、.NET Core 和 .NET 5+ 應用程式,使其與現代開發環境兼容。


class="tutorial-segment-title">如何教程

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

IronXL 能夠將 Excel 工作簿中的數據無縫匯出至多種文件格式。 此庫支持以下格式的匯出:

  • Excel 格式:.xlsx(現代)和.xls(舊版)
  • 數據交換格式:.csv.json.xml
  • 分隔值格式:.tsv

每種格式適用於特定用途—如 CSV 用於數據庫導入,JSON 用於網頁 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” 的三個工作表的工作簿來說,匯出會生成:

class="center-image-wrapper">從 Excel 匯出的三個 CSV 文件顯示 exportedData.Sheet1.csv、exportedData.Sheet2.csv 和 exportedData.Sheet3.csv 在 Windows Explorer 中

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

原始 Excel 文件結構包含三個工作表:

class="center-image-wrapper">Excel 工作簿底部的電子表格界面中顯示的三個工作表標籤(Label),名為 Sheet1、Sheet2 和 Sheet3

原始 Excel 工作簿顯示的三個工作表將被匯出為單獨的 CSV 文件

SaveAsCsv 方法保留數據值,同時去除此格式、公式和其他 Excel 特有功能。 這使得 CSV 非常適合導入數據庫或與其他應用程序一起處理。

匯出 Excel 工作表為 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 還支持將整個工作簿轉換為 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?

現代網頁應用通常需要 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

教程快速訪問

class="tutorial-section">
class="row">
class="col-sm-4">
class="tutorial-image">Documentation related to 教程快速訪問
class="col-sm-8">

API 參考文檔

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

查看 API 參考

準備匯出 Excel 文件?

IronXL 簡化了 C# 應用程式中的 Excel 文件匯出操作。 無論是在 Excel 格式之間進行轉換,還是匯出到 CSV、JSON 或 XML 等數據交換格式,此庫都提供了處理複雜轉換的直觀方法。

立即開始實施 Excel 匯出功能,使用 IronXL 的免費試用版。 對於生產部署,請探索我們針對各種規模團隊的靈活許可方案

立即開始使用 IronXL。
green arrow pointer

常見問題解答

如何使用 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 & IronSuite .NET 庫在全球 NuGet 被安裝超過 3000 萬次,其基礎代碼繼續為世界各地的開發工具提供動力。擁有 25 年的商業經驗和 41 年的編碼專業知識,Jacob 仍專注於推動企業級 C#、Java 及 Python PDF 技術的創新,同時指導新一代技術領袖。

準備好開始了嗎?
Nuget 下載 1,686,155 | 版本: 2025.11 剛剛發布