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

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

查克尼思·賓

介紹

透過新增圖片,使用者可以用相關的圖形或插圖來豐富數據。移除或刪除圖片簡化了內容編輯和組織。此外,檢索圖片的能力允許在其他文件或應用中重新利用它們,並且可以更新現有的圖片。總體來說,這些功能增強了使用者對圖片的控制,改善了整體用戶體驗,並實現了在Excel工作簿中無縫的圖片操作。


C# NuGet 程式庫用于 Excel

安裝與 NuGet

Install-Package IronXL.Excel
Java PDF JAR

下載 DLL

下載DLL

手動安裝到您的項目中

C# NuGet 程式庫用于 Excel

安裝與 NuGet

Install-Package IronXL.Excel
Java PDF JAR

下載 DLL

下載DLL

手動安裝到您的項目中

立即開始在您的專案中使用IronPDF,並享受免費試用。

第一步:
green arrow pointer

查看 IronXLNuget 快速安裝和部署。已被下載超過800萬次,它正用C#改變Excel。

C# NuGet 程式庫用于 Excel nuget.org/packages/IronXL.Excel/
Install-Package IronXL.Excel

請考慮安裝 IronXL DLL 直接下載並手動安裝到您的專案或GAC表單: IronXL.zip

手動安裝到您的項目中

下載DLL

插入圖片範例

要插入圖片到電子表格,請使用 插入圖片 方法,該方法支持各種影像類型,如 JPG/JPEG、BMP、PNG、GIF 和 TIFF。您必須指定影像的左上角和右下角以確定其尺寸,通過扣除列數和值來計算。例如,您可以嘗試以下方法:

  • 對於 1x1 圖片尺寸:
  • worksheet.插入圖片("image.gif", 5, 1, 6, 2);
  • 對於 2x2 圖像大小:

    • worksheet.InsertImage("image.gif", 5, 1, 7, 3);

請注意
生成的圖像 ID 遵循 1、3、5、7 等模式。

:path=/static-assets/excel/content-code-examples/how-to/add-remove-extract-worksheet-images-insert.cs
using IronXL;

WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Insert images
workSheet.InsertImage("ironpdf.jpg", 2, 2, 4, 4);
workSheet.InsertImage("ironpdfIcon.png", 2, 6, 4, 8);

workBook.SaveAs("insertImages.xlsx");
Imports IronXL

Private workBook As WorkBook = WorkBook.Create()
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Insert images
workSheet.InsertImage("ironpdf.jpg", 2, 2, 4, 4)
workSheet.InsertImage("ironpdfIcon.png", 2, 6, 4, 8)

workBook.SaveAs("insertImages.xlsx")
VB   C#

輸出試算表

插入圖片

Extract 圖像範例

要從選定的工作表中提取圖像,只需訪問 圖像 此屬性提供了工作表中包含的所有圖像列表。從這個列表中,您可以執行各種操作,例如導出、調整大小、檢索位置和獲取每個圖像的字節數據。值得注意的是,圖像 ID 遵循奇數模式,以 1、3、5、7 等順序遞增。

:path=/static-assets/excel/content-code-examples/how-to/add-remove-extract-worksheet-images-extract.cs
using IronSoftware.Drawing;
using IronXL;
using IronXL.Drawing;
using System;
using System.Collections.Generic;

WorkBook workBook = WorkBook.Load("insertImages.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Retreive images
List<IronXL.Drawing.Images.IImage> images = workSheet.Images;

// Select each image
foreach (IronXL.Drawing.Images.IImage image in images)
{
    // Save the image
    AnyBitmap anyBitmap = image.ToAnyBitmap();
    anyBitmap.SaveAs($"{image.Id}.png");

    // Resize the image
    image.Resize(1,3);

    // Retrieve image position
    Position position = image.Position;
    Console.WriteLine("top row index: " + position.TopRowIndex);
    Console.WriteLine("bottom row index: " + position.BottomRowIndex);

    // Retrieve byte data
    byte[] imageByte = image.Data;
}

workBook.SaveAs("resizeImage.xlsx");
Imports IronSoftware.Drawing
Imports IronXL
Imports IronXL.Drawing
Imports System
Imports System.Collections.Generic

Private workBook As WorkBook = WorkBook.Load("insertImages.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Retreive images
Private images As List(Of IronXL.Drawing.Images.IImage) = workSheet.Images

' Select each image
For Each image As IronXL.Drawing.Images.IImage In images
	' Save the image
	Dim anyBitmap As AnyBitmap = image.ToAnyBitmap()
	anyBitmap.SaveAs($"{image.Id}.png")

	' Resize the image
	image.Resize(1,3)

	' Retrieve image position
	Dim position As Position = image.Position
	Console.WriteLine("top row index: " & position.TopRowIndex)
	Console.WriteLine("bottom row index: " & position.BottomRowIndex)

	' Retrieve byte data
	Dim imageByte() As Byte = image.Data
Next image

workBook.SaveAs("resizeImage.xlsx")
VB   C#
提取的圖片
圖像大小

移除圖片範例

接著是 提取圖片範例, 您可以輕鬆地使用相應的索引號碼移除任何插入的圖像。只需將圖像的ID號碼傳遞給 移除圖片 從工作表中移除的方法。

:path=/static-assets/excel/content-code-examples/how-to/add-remove-extract-worksheet-images-remove.cs
using IronXL;

WorkBook workBook = WorkBook.Load("insertImages.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Remove image
workSheet.RemoveImage(3);

workBook.SaveAs("removeImage.xlsx");
Imports IronXL

Private workBook As WorkBook = WorkBook.Load("insertImages.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Remove image
workSheet.RemoveImage(3)

workBook.SaveAs("removeImage.xlsx")
VB   C#

查克尼思·賓

軟體工程師

Chaknith 是開發者界的夏洛克福爾摩斯。他第一次意識到自己可能有個軟體工程的未來,是在他為了娛樂而參加程式挑戰的時候。他的重點是 IronXL 和 IronBarcode,但他也引以為豪的是,他幫助客戶解決所有產品的問題。Chaknith 利用他與客戶直接對話中獲得的知識,以進一步改進產品。他的實際反饋超越了 Jira 工單,並支持產品開發、文件撰寫和行銷,以提升客戶的整體體驗。不在公司時,他通常在學習機器學習、寫程式和徒步旅行。