作成日: 2025/03/21 最終更新日: 2025/03/21
文書種別
使用方法
詳細
Excel for .NETのアセンブリは、ComponentOne 2024J v1から、従来のC1.Win.C1Excel.dllに代えてC1.Excel.dllが収録されるようになりました。
.NET Standard版であるこのアセンブリでは 、ブックに追加したイメージをそのままExelファイルにエクスポートすることができません。対応するには、ImageをGrapeCity.Document.Imagingのイメージに変換する必要があります。以下に簡単な設定例を記載します。

◎サンプルコード(VB)
.NET Standard版であるこのアセンブリでは 、ブックに追加したイメージをそのままExelファイルにエクスポートすることができません。対応するには、ImageをGrapeCity.Document.Imagingのイメージに変換する必要があります。以下に簡単な設定例を記載します。
◎サンプルコード(VB)
Imports C1.Excel
Public Class Form1
Private Sub button1_Click(sender As Object, e As EventArgs) Handles button1.Click
Dim _workbook = New C1XLBook()
Dim _sheet = _workbook.Sheets(0)
Dim img As Image = Image.FromFile("../../SampleImage.jpg")
_sheet(1, 1).Value = ToCell(img)
Try
_workbook.Save("outputfile.xls")
MessageBox.Show("file saved successfully!")
Process.Start("outputfile.xls")
Catch
MessageBox.Show("an error occurred!")
End Try
End Sub
Function ToCell(data As Object) As Object
If TypeOf data Is Image Then
Using ms As New MemoryStream()
DirectCast(data, Image).Save(ms, Imaging.ImageFormat.Png)
Return GrapeCity.Documents.Drawing.Image.FromBytes(ms.ToArray()) 'GrapeCity.Documents.Drawing.Image
End Using
End If
Return data
End Function
End Class
◎サンプルコード(C#)
using C1.Excel;
namespace prj_Excel
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
var _workbook = new C1XLBook();
var _sheet = _workbook.Sheets[0];
Image img = Image.FromFile("../../SampleImage.jpg");
_sheet[1, 1].Value = ToCell(img);
try
{
_workbook.Save("outputfile.xls");
MessageBox.Show("file saved successfully!");
Process.Start("outputfile.xls");
}
catch
{
MessageBox.Show("an error occurred!");
}
}
public object ToCell(object data)
{
if (data is Image img)
{
using (var ms = new MemoryStream())
{
img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
return GrapeCity.Documents.Drawing.Image.FromBytes(ms.ToArray());
}
}
return data;
}
}
}