次のいずれかの方法を使用して、画像をシートに挿入できます。それぞれの方法の詳細については、以下のリンクをクリックしてください。
方法1:XLCell.Value プロパティの値へ直接画像を設定します。
この方法を使用すると、画像は指定されたセルの左上端を基点とし、元のサイズで描画されます。画像の左上隅は指定されたセルの左上隅と重なります。
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
Dim wb As New C1XLBook
wb.Load("C:\Project\WorkBook1.xls")
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
C1XLBook wb = new C1XLBook(); wb.Load(@"C:\Project\WorkBook1.xls"); |
|
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
Dim img As Image = Image.FromFile("C:\Project\MyImage.bmp")
Dim sheet As XLSheet = wb.Sheets("Forecasting Report")
sheet(0, 0).Value = img
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
Image img = Image.FromFile(@"C:\Project\MyImage.bmp");
XLSheet sheet = wb.Sheets("Forecasting Report");
sheet[0,0].Value = img;
|
|
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
wb.Save("C:\Project\WorkBook1.xls ")
System.Diagnostics.Process.Start("C:\Project\WorkBook1.xls")
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
wb.Save(@"C:\Project\WorkBook1.xls"); System.Diagnostics.Process.Start(@"C:\Project\WorkBook1.xls"); |
|
このサンプルでは、画像は第1番目のセルに元のサイズで表示されます。

方法 2:XLPictureShape オブジェクトを作成し、プロパティを設定した後、XLCell.Value プロパティの値へ新しいオブジェクトを設定します。
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
Dim wb As New C1XLBook
wb.Load("C:\Project\WorkBook1.xls")
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
C1XLBook wb = new C1XLBook(); wb.Load(@"C:\Project\WorkBook1.xls"); |
|
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
Dim img As Image = Image.FromFile("C:\Project\MyImage.bmp")
Dim pic As New XLPictureShape(img, 1500, 1500)
pic.Rotation = 30.0F
pic.LineColor = Color.DarkRed
pic.LineWidth = 100
' 指定したシートの第1番目のセルに pic(新XLPictureShapeオブジェクト)を設定します。
Dim sheet As XLSheet = wb.Sheets("Forecasting Report")
sheet(0, 0).Value = pic
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
Image img = Image.FromFile(imageFileName);
XLPictureShape pic = new XLPictureShape(img, 1500, 1500);
pic.Rotation = 30.0f;
pic.LineColor = Color.DarkRed;
pic.LineWidth = 100;
// 指定したシートの第1番目のセルに pic(新XLPictureShapeオブジェクト)を設定します。
XLSheet sheet = wb.Sheets("Forecasting Report");
sheet[0,0].Value = pic;
|
|
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
wb.Save("C:\Project\WorkBook1.xls ")
System.Diagnostics.Process.Start("C:\Project\WorkBook1.xls")
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
wb.Save(@"C:\Project\WorkBook1.xls"); System.Diagnostics.Process.Start(@"C:\Project\WorkBook1.xls"); |
|
上記コードを実行すると、第1番目のセルの画像は、濃赤色の境界線、30°の回転角付きの画像で上書きされます。ただし座標を設定したため、画像は第1番目のセル上には表示されません。

方法 3:XLPictureShape オブジェクトを作成し、プロパティを設定した後、新しいオブジェクトをシートのShapeCollectionに追加します。
この方法では、XLPictureShape のコンストラクタを使用し、シート内の画像の位置・サイズなを調整します。画像は、シートの ShapeCollection に追加されます。
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
Dim wb As New C1XLBook
wb.Load("C:\Project\WorkBook1.xls")
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
C1XLBook wb = new C1XLBook(); wb.Load(@"C:\Project\WorkBook1.xls"); |
|
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
Dim img As Image = Image.FromFile("C:\Project\MyImage.bmp")
Dim pic As New XLPictureShape(img, 3000, 3500, 2500, 900)
pic.Rotation = 30.0F
pic.LineColor = Color.DarkRed
pic.LineWidth = 100
' 指定したシートのShapeCollectionに pic(新XLPictureShapeオブジェクト)を追加します。
Dim sheet As XLSheet = wb.Sheets("Forecasting Report")
sheet.Shapes.Add(pic)
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
Image img = Image.FromFile(@"C:\Project\MyImage.bmp");
XLPictureShape pic = new XLPictureShape(img, 3000, 3500, 2500, 900);
pic.Rotation = 30.0f;
pic.LineColor = Color.DarkRed;
pic.LineWidth = 100;
// 指定したシートのShapeCollectionに pic(新XLPictureShapeオブジェクト)を追加します。
XLSheet sheet = wb.Sheets("Forecasting Report");
sheet.Shapes.Add(pic)
|
|
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
wb.Save("C:\Project\WorkBook1.xls ")
System.Diagnostics.Process.Start("C:\Project\WorkBook1.xls")
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
wb.Save(@"C:\Project\WorkBook1.xls"); System.Diagnostics.Process.Start(@"C:\Project\WorkBook1.xls"); |
|
上記コードでは、画像は指定された ShapeCollection に追加されたため、第1番目のセルの値を上書きしません。画像の高さ、幅、垂直位置、水平位置も指定可能です。
