使用多分頁試算表

簡介

如果您需要將 每個 Excel 分頁 保存為獨立檔案,GroupDocs.Editor for .NET 可讓此過程輕鬆無痛。無論是提取財務報表、產生部門工作表,或將分頁轉換為 PDF,本教學將帶您完整走過工作流程——從環境設定到釋放資源——讓您能自信地自動化多分頁處理。

快速解答

  • GroupDocs.Editor 能將 XLSX 拆分為獨立檔案嗎? 可以,您可以載入活頁簿並將每個工作表分別匯出。
  • 每個分頁可以保存為哪些格式? 支援 XLSX、CSV、PDF、HTML 等超過 30 種輸出格式。
  • 此功能是否需要授權? 測試時可使用臨時授權;正式環境需購買完整授權。
  • 支援 .NET Core 嗎? 當然支援——此函式庫可在 .NET Framework 4.0 以上以及 .NET Core/5/6+ 上運行。
  • 一次可處理多少個分頁? GroupDocs.Editor 能在不將整個檔案載入記憶體的情況下處理超過 500 張工作表的活頁簿。

什麼是「保存每個 Excel 分頁」?

「保存每個 Excel 分頁」 指的是從多分頁活頁簿中提取每個工作表,並將其寫入各自獨立的文件(例如分別的 XLSX 或 PDF 檔)。此做法可簡化後續的處理、報告與分發,讓您每張工作表都有一個檔案,可獨立分享、歸檔或進一步轉換。

為什麼要使用 GroupDocs.Editor 完成此任務?

GroupDocs.Editor 支援 30 多種輸入與輸出格式,且可處理最多 1,000 張工作表 的試算表,透過串流資料而非一次載入整個檔案,保持低記憶體使用量。API 亦會保留儲存格樣式、公式與嵌入圖片,確保每個匯出的分頁與原始檔案外觀完全相同。

先決條件

在深入之前,請確認您已具備以下項目:

  1. Visual Studio – 任一近期版本(Community、Professional 或 Enterprise)。
  2. .NET Framework 4.0+ – 或若偏好跨平台執行環境,可使用 .NET Core/5/6。
  3. GroupDocs.Editor for .NET – 從下載頁面下載。
  4. 授權 – 測試時使用臨時授權即可;正式使用請購買完整授權。
  5. 免費試用 – 您亦可透過免費試用頁面試用此函式庫。
  6. 支援 – 若遇到問題,請前往支援論壇或考慮前往購買頁面取得完整授權。

匯入命名空間

在開始編寫程式碼之前,您需要匯入必要的命名空間。請在 .cs 檔案的最上方加入以下 using 指令:

using System.IO;
using GroupDocs.Editor.Formats;
using GroupDocs.Editor.Options;

如何將每個 Excel 分頁保存為獨立檔案?

載入活頁簿,為每個工作表建立 EditableDocument,並使用 Save 指定欲輸出的格式。此流程會將每個分頁分離,讓您自行選擇輸出路徑,且會自動釋放資源。以下是您將遵循的逐步工作流程,並附上每個 API 呼叫的說明與避免常見問題的最佳實踐提示。

步驟 1:取得輸入檔案的路徑

首先,指定包含多個分頁的來源 XLSX 檔案的完整路徑。

string inputFilePath = "Your Sample Document";

步驟 2:將試算表載入 Editor 實例

Editor 類別是 GroupDocs.Editor 所有文件操作的入口。它會讀取檔案串流並將文件準備好供編輯或提取使用。

using (FileStream inputStream = File.OpenRead(inputFilePath))
{
    using (Editor editor = new Editor(delegate { return inputStream; }, delegate { return new SpreadsheetLoadOptions(); }))
    {
        // Further steps will go here
    }
}

步驟 3:從第一個分頁建立 EditableDocument

EditableDocument 代表活頁簿中單一可編輯的工作表。其建構子接受 Editor 實例以及以零為起始的工作表索引。

SpreadsheetEditOptions editOptions1 = new SpreadsheetEditOptions();
editOptions1.WorksheetIndex = 0; // First tab
EditableDocument firstTabBeforeEdit = editor.Edit(editOptions1);

步驟 4:從第二個分頁建立 EditableDocument

您可以透過變更索引值,以相同方式為其他工作表建立 EditableDocument

SpreadsheetEditOptions editOptions2 = new SpreadsheetEditOptions();
editOptions2.WorksheetIndex = 1; // Second tab
EditableDocument secondTabBeforeEdit = editor.Edit(editOptions2);

步驟 5:將第一個分頁保存為獨立文件

Save 會將編輯後的文件寫入指定格式的檔案。於 EditableDocument 實例上呼叫此方法,並提供輸出路徑與格式(例如 SaveFormat.Xlsx)。

SpreadsheetSaveOptions saveOptions1 = new SpreadsheetSaveOptions(SpreadsheetFormats.Xlsm);
string outputFilename1 = Path.GetFileNameWithoutExtension(inputFilePath) + "_tab1.xlsm";
string outputPath1 = Path.Combine(Constants.GetOutputDirectoryPath(inputFilePath), outputFilename1);
editor.Save(firstTabBeforeEdit, outputPath1, saveOptions1);

步驟 6:將第二個分頁保存為獨立文件

第二個工作表同樣使用 Save 呼叫,若需要亦可選擇不同的格式,例如 PDF。

SpreadsheetSaveOptions saveOptions2 = new SpreadsheetSaveOptions(SpreadsheetFormats.Xlsb);
string outputFilename2 = Path.GetFileNameWithoutExtension(inputFilePath) + "_tab2.xlsb";
string outputPath2 = Path.Combine(Constants.GetOutputDirectoryPath(inputFilePath), outputFilename2);
editor.Save(secondTabBeforeEdit, outputPath2, saveOptions2);

步驟 7:釋放 EditableDocument 實例

Dispose 會釋放文件所持有的非受控資源(如檔案句柄),確保在長時間執行的服務中不會發生資源泄漏。

firstTabBeforeEdit.Dispose();
secondTabBeforeEdit.Dispose();

常見問題與解決方案

  • 「檔案被鎖定」錯誤 – 確保對每個 EditableDocumentEditor 實例呼叫 Dispose(),或使用 using 陳述式包住它們。
  • 匯出後樣式遺失 – 請確認您保存的格式支援樣式(例如 XLSX 或 PDF),CSV 會依設計失去格式。
  • 大型活頁簿導致效能緩慢 – 使用串流載入選項 (LoadOptions.Streaming = true) 以降低記憶體使用量。

常見問答

Q: 如果我的活頁簿包含隱藏工作表怎麼辦?
A: 隱藏工作表會被視為一般工作表;您可以透過索引存取並保存它們,但若希望在輸出中可見,可能需要在保存前將 EditableDocument.IsVisible = true 設為 true。

Q: 能直接將 Excel 分頁轉換為 PDF 嗎?
A: 可以,在對 EditableDocument 呼叫 Save 時指定 SaveFormat.Pdf。函式庫會在轉換過程中保留版面配置、圖片與圖表。

Q: 能將活頁簿拆分為 CSV 檔而非 XLSX 嗎?
A: 完全可以。對每個 EditableDocument 使用 SaveFormat.Csv,即可產生每張工作表的純文字 CSV 表示。

Q: GroupDocs.Editor 支援受密碼保護的 Excel 檔案嗎?
A: 支援。建立 Editor 實例時,透過 LoadOptions.Password 提供密碼即可。

Q: 我可以在哪裡找到更多試算表相關的範例?
A: 官方文件與 下載頁面 上的示範專案提供更多使用案例。

結論

依照上述步驟,您即可 將每個 Excel 分頁 保存為獨立文件、將分頁轉換為 PDF,或將大型活頁簿拆分為可管理的片段——全部使用可靠且高效能的 GroupDocs.Editor for .NET 函式庫。此功能可簡化報告流程、自動化資料抽取,並減少手動處理試算表的工作量。


最後更新: 2026-06-06
測試環境: GroupDocs.Editor 23.11 for .NET
作者: GroupDocs


相關教學