如何添加、提取和移除工作表中的圖片 | IronXL

如何使用 C# 在 Excel 中新增、萃取及移除圖檔;。

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

IronXL 可讓 C# 開發人員以程式化的方式將圖片插入 Excel 工作表、擷取現有圖片及其屬性,以及使用簡單的 API 方法移除不需要的圖片,而不需要 Excel Interop 的依賴。 當在 .NET 中建立 Excel 檔案,而這些檔案需要公司標誌、產品圖片或資料可視化圖形等視覺元素時,此功能是不可或缺的。

加入圖片可利用相關的圖形或插圖豐富資料。 移除圖片可簡化內容編輯與組織。 擷取圖片可在其他文件或應用程式中重新使用,並更新現有的圖片。 這些功能可完全控制 Excel 工作簿中的圖像處理。

快速入門:一次插入、提取和刪除圖像

使用 IronXL 直觀的 API,僅需幾行文字即可從工作表中新增、獲取和刪除圖片。 本範例展示如何插入圖片、透過 Images 套件存取圖片,以及移除圖片 - 所有這些動作都不需要接觸 Interop。

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronXL

    PM > Install-Package IronXL.Excel

  2. 複製並運行這段程式碼。

    workSheet.InsertImage("logo.png", 1, 1, 3, 3);
    workSheet.RemoveImage(1);
    var firstImage = workSheet.Images[0];
  3. 部署到您的生產環境進行測試

    立即開始在您的專案中使用 IronXL,免費試用!
    arrow pointer


如何在 Excel 工作表中加入圖片? To insert an image into a spreadsheet, use the InsertImage method, which supports various image types including JPG/JPEG, BMP, PNG, GIF, and TIFF. 當您需要 [ 在 C# 中建立 Excel 圖表](https://ironsoftware.com/csharp/excel/how-to/csharp-create-excel-chart-programmatically/),並使用額外的視覺元素加以補充時,這項能力尤其有用。 指定圖片的左上角和右下角,以確定其尺寸,計算方式為減去列和行的值。 方法簽章需要五個參數:影像檔案路徑,以及代表起始列、起始行、結束列和結束行的四個整數。 圖片會拉伸或壓縮,以符合定義的單元格範圍。 舉例來說 - 對於 1x1 的圖像尺寸: - `worksheet.InsertImage("image.gif", 5, 1, 6, 2);` - 對於 2x2 的圖像尺寸: - `worksheet.InsertImage("image.gif", 5, 1, 7, 3);` 在 Excel 中處理圖片時,瞭解 IronXL 如何在內部管理圖片。 每張插入的圖片都會收到遵循特定模式的唯一 ID。
請注意生成的圖像 ID 依循 1、3、5、7 的模式,依此類推。
這種奇數順序在稍後引用特定圖像進行提取或移除操作時非常重要。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/add-remove-extract-worksheet-images-insert.cs ``` `InsertImage` 方法提供了在工作表中定位和調整圖片大小的靈活性。 與 Excel 中的手動圖片插入不同,程式化插入可確保在多個檔案中的位置一致,因此非常適合用來產生需要標準格式的報告或文件。 [在 C# 中使用 Excel 而無需 Interop](https://ironsoftware.com/csharp/excel/get-started/c-sharp-excel-interop/) 時,此方法尤其有益,因為它消除了對 Microsoft Office 安裝的依賴。

Excel 中插入的圖片是什麼樣子?
在 C4 和 C7 單元格中插入兩個彩色標誌的試算表,顯示成功插入圖片

如何從 Excel 檔案中萃取影像? To extract images from the selected worksheet, access the Images property, which provides a list of all images contained within the sheet. 當您需要[在沒有 Interop 的情況下載入 Excel 檔案](https://ironsoftware.com/csharp/excel/examples/read-excel/),並處理其內嵌的視覺內容時,此功能是不可或缺的。 透過此列表,您可以執行各種操作,例如匯出、調整大小、檢索位置以及獲取每張圖像的位元組資料。 圖片 ID 採用奇數模式,依序以 1、3、5、7 等順序遞增。 擷取過程可全面存取影像屬性與資料,讓開發人員能夠 - 將影像匯出為各種格式 (PNG、JPEG、BMP 等) - 擷取圖片定位資訊以保存版面 - 存取原始位元組資料以進行自訂處理或儲存 - 以程式化方式調整影像大小,無需外部影像處理程式庫 在不同文件格式之間遷移內容時,或在建立需要從 Excel 檔案編目和管理視覺資產的系統時,此功能證明是無價之寶。 程式化擷取影像的能力也可支援自動化品質控制流程,在此流程中,影像需要根據特定的業務規則進行驗證或處理。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/add-remove-extract-worksheet-images-extract.cs ```
File explorer showing extracted PNG images and files in Documents/Replicate/bin/Debug/net6.0 directory
Spreadsheet showing three extracted images positioned in cells C2-E2, C5-E6, and C8-E10 with coordinate grid

如何從 Excel 工作表中移除圖片? Following the extract images example, you can easily remove any inserted image using its corresponding index number. 將圖片的 ID 編號傳給 `RemoveImage` 方法,以將其從工作表中移除。 當您需要 [ 在 C# 中編輯 Excel 檔案](https://ironsoftware.com/csharp/excel/how-to/csharp-edit-excel-file/),以清理不需要的視覺元素或為不同的受眾準備文件時,這項作業尤其有用。 移除過程簡單直接,但需要瞭解圖片 ID 系統。 由於 IronXL 以奇數順序指定 ID(1、3、5、7......),因此在管理多張圖片時,請追蹤這些 ID。 請考慮在您的應用程式中實作映射系統,將有意義的名稱與影像 ID 相關聯,以方便管理。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/add-remove-extract-worksheet-images-remove.cs ``` 對於涉及多工作表和影像的更複雜情況,請探索 [管理工作表](https://ironsoftware.com/csharp/excel/how-to/manage-worksheet/),以瞭解影像操作如何與工作表層級的操作互動。 此外,在使用受保護的 Excel 檔案時,請參閱我們的 [ 保護 Excel 檔案](https://ironsoftware.com/csharp/excel/examples/protect-excel-file/)指南,以瞭解影像操作如何在受密碼保護的工作簿中運作。

常見問題解答

如何使用 C# 程式化地在 Excel 試算表中加入圖片?

IronXL.Excel 提供了 InsertImage 方法,可將圖片新增至 Excel 工作表。只需指定圖片檔案路徑,以及希望圖片出現的儲存格範圍座標(左上角和右下角)。IronXL 支援多種圖片格式,包括 JPG/JPEG、BMP、PNG、GIF 和 TIFF。

在 Excel 中插入圖片時,支援哪些圖片格式?

IronXL.Excel 支援多種影像格式,可插入 Excel 工作表中,包括 JPG/JPEG、BMP、PNG、GIF 和 TIFF。這種靈活性可讓您處理各種常用於商業文件和資料可視化的圖像類型。

如何從 Excel 工作表中提取現有圖像?

您可以使用 IronXL.Excel 的 Images 集合屬性從 Excel 工作表中擷取圖片。存取 worksheet.Images[index],即可擷取特定圖片及其屬性和元資料,讓您可以在其他文件或應用程式中重新使用這些圖片。

我可以程式化地移除 Excel 檔案中的圖片嗎?

是的,IronXL 提供 RemoveImage 方法來刪除工作表中的圖片。只需提供圖片 ID 即可移除特定圖片,讓您完全控制圖片管理,而無需 Excel Interop。

如何指定插入圖片的大小和位置?

使用 IronXL 的 InsertImage 方法時,您會指定四個座標:起始列、起始行、結束列和結束行。圖片會自動拉伸或壓縮,以符合定義的儲存格範圍。例如,InsertImage("image.gif", 5, 1, 6, 2) 會建立 1x1 大小的圖片。

我需要安裝 Microsoft Excel 才能在試算表中處理圖像嗎?

不,IronXL.Excel 可獨立運作,無需 Microsoft Excel 或 Excel Interop 依賴。您只需在您的 .NET 應用程式中使用 IronXL library,就能以程式化的方式從 Excel 檔案中新增、抽取和移除圖片。

Chaknith Bin
軟體工程師
Chaknith 在 IronXL 和 IronBarcode 上工作。他對 C# 和 .NET 擁有深厚的專業知識,幫助改進了軟體並支持客戶。他從用戶互動中得到的見解有助於改善產品、文檔和整體體驗。
準備好開始了嗎?
Nuget 下載 1,765,830 | 版本: 2025.12 剛發表