バージョン

画像をワークシートに追加

Microsoft® Excel® によって、画像とその他の形状をワークシートの任意の場所に配置することができます。 WorksheetImage オブジェクトを使用することによって、画像を Worksheet に追加することも可能です。以下の手順を使用することによって(手順の順番のとおりに)、すべての形状がワークシートに追加されます。

  1. 希望の形状を作成します。

  2. 形状のアンカーを設定します。これは、形状がワークシート上のどこに配置されるかを決定します。

  3. 形状をワークシートの Shapes コレクションに追加します。

アンカーは、ワークシート上に形状を配置する前に設定する必要がありますが、形状の TopLeftCornerCell プロパティと BottomRightCornerCell プロパティです。これらのセルは、ワークシートが Excel に表示されるときに形状の関連付けられた角がどこに表示するかを決定します。追加のアンカー プロパティは形状の TopLeftCornerPosition プロパティと BottomRightCornerPosition プロパティです。これらのプロパティを使用することによって、形状の関連付けられた角がセルのどこに表示されるのかをより詳細に制御できます。これらの位置プロパティは、セルの各寸法に対するパーセントで表されます。(0.0, 0.0) は関連付けられたアンカー セルの左上隅のことを指し、(100.0, 100.0) は右下隅を指します。

以下のコードは、画像を作成し、ワークシートの A1 セル全体を塗りつぶす方法を示します。

Visual Basic の場合:

Dim workbook As New Infragistics.Documents.Excel.Workbook()
Dim worksheet As Infragistics.Documents.Excel.Worksheet = _
  workbook.Worksheets.Add("Sheet1")
Dim image As Image = image.FromFile("C:\image.bmp")
Dim imageShape As Infragistics.Documents.Excel.WorksheetImage = _
  New Infragistics.Documents.Excel.WorksheetImage(image)
Dim cellA1 As Infragistics.Documents.Excel.WorksheetCell = _
  worksheet.Rows.Item(0).Cells.Item(0)
' 画像の左上隅は、
' セル A1 の左上隅でなければなりません。
imageShape.TopLeftCornerCell = cellA1
imageShape.TopLeftCornerPosition = New PointF(0.0F, 0.0F)
' 画像の右下隅は、
' セル A1 の右下隅でなければなりません。
imageShape.BottomRightCornerCell = cellA1
imageShape.BottomRightCornerPosition = New PointF(100.0F, 100.0F)
worksheet.Shapes.Add(imageShape)

C# の場合:

Infragistics.Documents.Excel.Workbook workbook = new Infragistics.Documents.Excel.Workbook();
Infragistics.Documents.Excel.Worksheet worksheet =
  workbook.Worksheets.Add( "Sheet1" );
Image image = Image.FromFile( "C:\\image.bmp" );
Infragistics.Documents.Excel.WorksheetImage imageShape =
  new Infragistics.Documents.Excel.WorksheetImage( image );
Infragistics.Documents.Excel.WorksheetCell cellA1 = worksheet.Rows[ 0 ].Cells[ 0 ];
// 画像の左上隅は、
// セル A1 の左上隅でなければなりません。
imageShape.TopLeftCornerCell = cellA1;
imageShape.TopLeftCornerPosition = new PointF( 0.0F, 0.0F );
// 画像の右下隅は、
// セル A1 の右下隅でなければなりません。
imageShape.BottomRightCornerCell = cellA1;
imageShape.BottomRightCornerPosition = new PointF( 100.0F, 100.0F );
worksheet.Shapes.Add( imageShape );
ExcelEngine Add an Image to a Worksheet 01.png