如何在 Excel 中嵌入 PDF,使用 GroupDocs.Merger for .NET

簡介

在 Excel 中嵌入 PDF 可讓您將支援文件(例如合約、報告或規格說明)直接保留在資料所在的位置。使用 GroupDocs.Merger for .NET,您只需幾行程式碼即可將 OLE 物件新增至儲存格,將普通的試算表轉變為互動且自包含的活頁簿。本教學將帶您了解從安裝到除錯的所有必要資訊。

您將學習

  • 如何在 C# 專案中設定 GroupDocs.Merger for .NET
  • 將 PDF(或任何 OLE 相容檔案)嵌入 Excel 儲存格的具體步驟
  • 設定選項、效能技巧與常見陷阱

在開始之前,先確認您已備妥所有必要項目。

快速問答

  • 我可以嵌入任何檔案類型嗎? 是的——任何支援作為 OLE 物件的格式(PDF、Word、影像等)。
  • 開發時需要授權嗎? 免費試用可用於測試;正式上線需購買永久授權。
  • 支援哪些 .NET 版本? .NET Framework 4.5+、.NET Core 3.1+、.NET 5/6/7+。
  • Excel 檔案大小會大幅增加嗎? 只會因嵌入文件的大小而增加;為獲得最佳效能,請將檔案保持在數 MB 以內。
  • OLE 物件的數量有限制嗎? 實際上沒有,但非常大的活頁簿可能會影響載入時間。

什麼是 Excel 中的 PDF 嵌入?

在 Excel 中嵌入 PDF 會將整個 PDF 作為 OLE 物件插入,使用者可直接點擊圖示在試算表內開啟原始文件,而不必離開 Excel。此方式保留原始版面配置,便於快速參考,且免除管理分離檔案的需求。嵌入的 PDF 行為與其他 OLE 物件相同,使用者雙擊圖示即可在 Excel 環境中啟動 PDF 檢視器。

為什麼在 Excel 中嵌入 OLE 物件?

GroupDocs.Merger 支援 120+ 輸入與輸出格式,且可在不將整個檔案載入記憶體的情況下嵌入物件,實現多百頁 PDF 的快速處理。這減少了獨立檔案庫的需求,讓相關資料保持在同一活頁簿內,同時簡化版本控制,確保所有相關文件隨活頁簿一起流通,提升團隊協作效率。

先決條件

  • GroupDocs.Merger for .NET(最新 NuGet 套件)
  • .NET Framework 4.5+ or .NET Core/5+/6+
  • Visual Studio 2022 或更新版本
  • 基本的 C# 知識與檔案 I/O 的熟悉度

設定 GroupDocs.Merger for .NET

安裝

使用以下任一方法加入套件:

.NET CLI

dotnet add package GroupDocs.Merger

Package Manager

Install-Package GroupDocs.Merger

NuGet Package Manager UI
搜尋 “GroupDocs.Merger” 並安裝最新版本。

取得授權

  1. 免費試用 – 無需付費測試此函式庫。
  2. 臨時授權 – 在臨時授權頁面申請臨時授權。
  3. 購買 – 可於GroupDocs 購買頁面購買授權。

基本初始化

Merger 是所有操作的入口點。

using (Merger merger = new Merger("path_to_your_spreadsheet.xlsx"))
{
    // Your code to work with the document
}

如何在 Excel 中嵌入 OLE 物件?

載入來源活頁簿、設定 OLE 選項,然後讓 Merger 插入物件。以下章節提供簡潔、可直接執行的工作流程。

功能概述

嵌入 OLE 物件可讓您將完整的 PDF 儲存在儲存格內,保留原始版面並提供一鍵存取的功能。

逐步實作

1. 設定路徑與頁碼

指定試算表、要嵌入的檔案以及目標儲存格位址。

string filePath = "YOUR_DOCUMENT_DIRECTORY/SAMPLE_XLSX";
string embeddedFilePath = "YOUR_DOCUMENT_DIRECTORY/SAMPLE_PDF";
int pageNumber = 2; // The specific page to embed

// Output path for the modified spreadsheet
string filePathOut = Path.Combine("YOUR_OUTPUT_DIRECTORY", "OUT_SAMPLE_NAME.xlsx");

2. 設定 OleSpreadsheetOptions

OleSpreadsheetOptions 定義 OLE 物件在工作表中的放置位置以及圖示顯示方式。

// Specify row and column indices for embedding
OleSpreadsheetOptions oleCellsOptions = new OleSpreadsheetOptions(embeddedFilePath, pageNumber)
{
    RowIndex = 2,
    ColumnIndex = 2
};

3. 初始化 Merger 並執行嵌入

Merger 類別負責實際插入。呼叫完成後,活頁簿將包含 OLE 圖示。

using (Merger merger = new Merger(filePath))
{
    merger.ImportDocument(oleCellsOptions); // Import the specified document as an OLE object into the spreadsheet
    merger.Save(filePathOut); // Save the modified document
}

常見除錯技巧

  • 確認所有檔案路徑為絕對路徑,或相對於執行檔正確解析。
  • 確保指定的頁碼在來源 PDF 中存在;否則會拋出例外。
  • 若嵌入的物件未顯示,請確認目標 Excel 版本支援 OLE(大多數現代版本皆支援)。

實務應用

在 Excel 中嵌入 PDF 可用於:

  1. 財務報告 – 將審計報表直接附於摘要表格旁。
  2. 專案文件 – 在主追蹤表中保留設計規格、風險分析或合約。
  3. 培訓儀表板 – 嵌入使用手冊或政策 PDF,供員工快速參考。

效能考量

  • 檔案大小 – 將嵌入的 PDF 保持在 5 MB 以下,以免活頁簿過大。
  • 記憶體使用 – GroupDocs.Merger 以串流方式處理資料,即使來源檔案很大,記憶體消耗亦保持低。
  • 釋放物件 – 必須對 Merger 實例呼叫 Dispose(),以即時釋放檔案句柄。

常見問題

問:什麼是 OLE 物件?
答:OLE(Object Linking and Embedding)物件將另一個檔案(PDF、Word、影像等)儲存在宿主文件內,允許在原位編輯或開啟。

問:我可以在其他 Office 格式中嵌入 OLE 物件嗎?
答:可以——GroupDocs.Merger 亦支援 Word、PowerPoint 與 Visio 檔案。

問:如何處理受密碼保護的 PDF?
答:在建立 OleSpreadsheetOptions 實例時提供密碼,函式庫會自動解密檔案。

問:嵌入的 PDF 有大小限制嗎?
答:技術上沒有硬性限制,但超過 10 MB 的檔案可能明顯增加活頁簿載入時間。

問:在哪裡可以找到更多範例?
答:請參閱官方 GroupDocs 文件,取得更多程式碼範例與 API 參考。

其他資源


Last Updated: 2026-09-21
Tested with: GroupDocs.Merger 23.12 for .NET
Author: GroupDocs

相關教學