[]
イメージ型セルはセルに画像を表示します。ImageCellTypeクラスを使用して設定します。

主な設定は次のとおりです。
イメージ型セルの値は画像のソースを表す ImageSource または画像を表すバイナリ データであることが求められます。たとえば、セルの値がイメージ ファイルへのパスを表す文字列である場合があります。このようにセルの値が ImageSource 型、または画像を表すバイナリ データでない場合、値を ImageSource に変換する ImageConverter を設定することで対応できます。ImageConverter は IImageSourceConverter インタフェースを実装して作成します。
スプレッドシートにイメージ型セルを設定する方法は2つあります。
XAMLの使用
コードの使用
次のサンプルコードはXAMLでイメージ型セルを設定して、コードで画像のパスを定義します。
XAML
<Window.Resources>
<local:SpreadFilePathToImageConverter x:Key="MyImageConverter"/>
</Window.Resources>
<Grid>
<gss:GcSpreadSheet x:Name="GcSpreadSheet" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >
<gss:GcSpreadSheet.Sheets>
<gss:SheetInfo ColumnCount="20" RowCount="50">
<gss:SheetInfo.Columns>
<gss:ColumnInfo Width="250">
<gss:ColumnInfo.CellType>
<CT:ImageCellType Stretch="Fill" ImageConverter="{StaticResource MyImageConverter}"/>
</gss:ColumnInfo.CellType>
</gss:ColumnInfo>
</gss:SheetInfo.Columns>
</gss:SheetInfo>
</gss:GcSpreadSheet.Sheets>
</gss:GcSpreadSheet>
</Grid>C#
// イメージ型セルの値を設定します。
GcSpreadSheet.Workbook.ActiveSheet.Cells["A2"].Value = "pack://application:,,,/Images/SpreadPicture.png";VB
' イメージ型セルの値を設定します。
GcSpreadSheet.Workbook.ActiveSheet.Cells("A2").Value = "pack://application:,,,/Images/SpreadPicture.png"次のサンプルコードはアプリケーションの Image フォルダーに保存された SpreadPicture.png ファイルをイメージ型セルに読み込みます。SpreadFilePathToImageConverter クラスが、ファイルのパスを BitmapImage に変換します。
C#
// ImageCellTypeを設定します。
ImageCellType img = new ImageCellType();
img.Stretch = Stretch.Fill;
img.ImageConverter = new SpreadFilePathToImageConverter();
GcSpreadSheet.Workbook.ActiveSheet.Cells["C2"].CellType = img;
// 値を設定します。
GcSpreadSheet.Workbook.ActiveSheet.Cells["C2"].Value = "pack://application:,,,/Images/SpreadPicture.png";VB
' ImageCellTypeを設定します。
Dim img As ImageCellType = New ImageCellType()
img.Stretch = Stretch.Fill
img.ImageConverter = New SpreadFilePathToImageConverter()
GcSpreadSheet.Workbook.ActiveSheet.Cells("C2").CellType = img
' 値を設定します。
GcSpreadSheet.Workbook.ActiveSheet.Cells("C2").Value = "pack://application:,,,/Images/SpreadPicture.png"C#
public class SpreadFilePathToImageConverter : IImageSourceConverter
{
public ImageSource GetImageSource(object value)
{
if (value != null)
{
BitmapImage bmi = new BitmapImage(new Uri(value.ToString(), UriKind.Absolute));
return bmi;
}
else return null;
}
}VB
Public Class SpreadFilePathToImageConverter
Implements IImageSourceConverter
Public Function GetImageSource(ByVal value As Object) As ImageSource
If value IsNot Nothing Then
Dim bmi As BitmapImage = New BitmapImage(New Uri(value.ToString(), UriKind.Absolute))
Return bmi
Else
Return Nothing
End If
End Function
End Class