ワークシートから画像を追加、抽出、および削除する方法

Chaknith related to ワークシートから画像を追加、抽出、および削除する方法
チャクニット・ビン
2023年7月23日
更新済み 2024年12月10日
共有:
This article was translated from English: Does it need improvement?
Translated
View the article in English

イントロダクション

画像を追加することで、ユーザーは関連するグラフィックやイラストでデータを充実させることができます。 画像を削除することで、コンテンツの編集と整理が簡単になります。 さらに、画像を取得する機能により、他のドキュメントやアプリケーションで再利用したり、既存の画像を更新したりすることができます。 これらの機能は総合的に、ユーザーによる画像の制御を強化し、全体的なユーザー体験を向上させ、Excelワークブック内でのシームレスな画像操作を可能にします。


IronXLで始めましょう

今日から無料トライアルでIronXLをあなたのプロジェクトで使い始めましょう。

最初のステップ:
green arrow pointer


画像追加の例

スプレッドシートに画像を挿入するには、InsertImage メソッドを使用します。このメソッドは、JPG/JPEG、BMP、PNG、GIF、TIFF などのさまざまな画像タイプをサポートしています。 画像の寸法を決定するためには、画像の左上隅と右下隅を指定する必要があります。これにより、列と行の値を引いて寸法が計算されます。 例えば、次のアプローチを試すことができます:

  • 1x1画像サイズの場合:
  • worksheet.InsertImage("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")
$vbLabelText   $csharpLabel

スプレッドシートの出力

画像を挿入

画像抽出の例

選択したワークシートから画像を抽出するには、シート内に含まれているすべての画像のリストを提供するImagesプロパティにアクセスするだけです。 このリストから、エクスポート、リサイズ、位置の取得、および各画像のバイトデータの取得など、さまざまな操作を実行できます。 特筆すべき点として、画像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")
$vbLabelText   $csharpLabel
抽出された画像
画像サイズ

画像削除の例

画像抽出例に従って、対応するインデックス番号を使用して挿入された画像を簡単に削除できます。 画像のID番号をRemoveImageメソッドに渡せば、ワークシートから画像を削除できます。

: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")
$vbLabelText   $csharpLabel
Chaknith related to 画像削除の例
ソフトウェアエンジニア
チャクニットは開発者のシャーロック・ホームズです。彼がソフトウェアエンジニアリングの将来性に気付いたのは、楽しみでコーディングチャレンジをしていたときでした。彼のフォーカスはIronXLとIronBarcodeにありますが、すべての製品でお客様を助けることに誇りを持っています。チャクニットは顧客と直接話すことで得た知識を活用して、製品自体のさらなる改善に貢献しています。彼の逸話的なフィードバックは、単なるJiraチケットを超えて、製品開発、ドキュメントおよびマーケティングをサポートし、顧客の全体的な体験を向上させます。オフィスにいないときは、機械学習やコーディングについて学んだり、ハイキングを楽しんだりしています。