MESCIUS SPREAD for Windows Forms 17.0J
セルへの画像の追加

SPREAD for Windows Forms では、セルに画像を値として挿入することができます。 これにより、セルを ImageCellType クラス オブジェクトに変換せずに、セルに画像を追加できます。

ImageCellType を使用して画像を追加する方法については、「イメージ型セル」トピックを参照してください。

次のいずれかの方法を使用して、セルに画像を表示できます。 これらの方法を使用すると、画像オブジェクトをセル値に設定したり、ローカル画像ファイルのパスを設定したり、base64 でエンコードされた画像文字列をセルに設定したりすることができます。

メモ: 文字列によって返されるデータ型は、ローカルの画像ファイル パスのみをサポートします。

画像とセル値の表示

セル値とともに画像を表示したい場合は、CellImageAttribute クラスのメンバーを使用します。そのコンストラクターメソッドは次のパラメータを受け取ります。

パラメータ 説明
member

セルのインライン画像データで指定されたメンバを示す文字列値。

isField

メンバがフィールドであるかどうかを示すブール値。 デフォルト値は false です。

次の図は、Spread で設定された画像属性に従ってセル値とともに表示された画像を示しています。

C#
コードのコピー
private void CellImageAndValue_Load(object sender, EventArgs e)
{
    IWorksheet TestActiveSheet = fpSpread1.AsWorkbook().ActiveSheet;
    fpSpread1.AsWorkbook().WorkbookSet.CalculationEngine.CalcFeatures = CalcFeatures.All;
    fpSpread1.LegacyBehaviors = FarPoint.Win.Spread.LegacyBehaviors.None;

    // 画像とセル値を表示します
    RichValue<Country> ct = new RichValue<Country>(new Country()
    {
        Name = "Apple",
    });
    ct.ShowDetailsIcon = true;
    TestActiveSheet.Cells["A1"].Value = ct;

    TestActiveSheet.Rows[0].RowHeight = 100;
    TestActiveSheet.Columns[0].ColumnWidth = 150;
    TestActiveSheet.Columns[2].ColumnWidth = 100;
}

[System.Reflection.DefaultMember("Name")]
[CellImage("Image")]
public class Country
{
    public string Name { get; set; }
    [CellValueDataType(PrimitiveValueType.Image)]
    public string Image
    {
        get
        {
            return @"D:\apple.jpg";
        }
    }
}
Visual Basic
コードのコピー
Private Sub CellImageAndValue_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim TestActiveSheet As IWorksheet = FpSpread1.AsWorkbook().ActiveSheet

    FpSpread1.AsWorkbook().WorkbookSet.CalculationEngine.CalcFeatures = CalcFeatures.All
    FpSpread1.LegacyBehaviors = FarPoint.Win.Spread.LegacyBehaviors.None

    '画像とセル値を表示します
    Dim ct As RichValue(Of Country) = New RichValue(Of Country)(New Country() With {
        .Name = "Apple"
    })
    ct.ShowDetailsIcon = True

    TestActiveSheet.Cells("A1").Value = ct

    TestActiveSheet.Rows(0).RowHeight = 100
    TestActiveSheet.Columns(0).ColumnWidth = 150
    TestActiveSheet.Columns(2).ColumnWidth = 100
End Sub

<System.Reflection.DefaultMember("Name")>
<CellImage("Image")>
Public Class Country
    Public Property Name As String

    <CellValueDataType(PrimitiveValueType.Image)>
    Public ReadOnly Property Image As String
        Get
            Return "D:\apple.jpg"
        End Get
    End Property
End Class

メモ:このクラスは CellValueDataTypeAttribute クラスよりも高い優先順位を持っています。

SPREAD for Windows Forms では、セルに画像を配置できる GC.IMAGE 関数も提供します。 この関数の詳細については、「イメージスパークライン」トピックを参照してください。 また、ソースの場所からセルに画像を挿入する IMAGE関数を使用することもできます。

セルへの画像の挿入/貼り付け

SPREAD for Windows Forms では、セルに画像を挿入または貼り付けるには、IRange インターフェースの InsertPictureInCell メソッドまたは PastePictureInCell メソッドを使用します。新しいスタイルシステム(LegacyBehaviorsプロパティがStyleを含まない場合)標準のセルでのみ機能します。セルに画像を挿入するために、リボンコントロールを使用するか、コンテキストメニューを使用して画像を貼り付けます。

セルに画像を挿入

コードの使用

次のサンプル コードは、IRange インターフェースの InsertPictureInCell メソッドを使用して画像を挿入します。

C#
コードのコピー
fpSpread1.AsWorkbook().ActiveSheet.Cells[7, 2].InsertPictureInCell(@”picture.jpg”);

Visual Basic
コードのコピー
FpSpread1.AsWorkbook().ActiveSheet.Cells(7, 2).InsertPictureInCell("picture.jpg")

実行時に画像を挿入

リボンコントロールを使用して画像を挿入するには、次の手順に従います。

  1. 次のサンプルコードを実行して、リボンコントロールを含むSpread コントロールにを読み込みます。
    C#
    コードのコピー
    ribbonBar1.Attach(fpSpread1);
    

    Visual Basic
    コードのコピー
    ribbonBar1.Attach(FpSpread1)
    
  2. メニューから「挿入」オプションを選択します。
  3. 」グループで「画像」をクリックして、「セルに配置」を選択します。
    メモ:セルの上に画像をフローティングするには、「セルの上に配置」オプションを使用します。
  4. 画像を選択して、「OK」をクリックします。

次の図は、リボンコントロールを使用してセルに画像を挿入する方法を示しています。

画像をセルに貼り付ける

コードの使用

次のサンプルコードは、IRange インターフェースの PastePictureInCell メソッドを使用して画像を貼り付けます。

  1. クリップボードに画像をコピーします。
  2. 次のサンプル コードを実行して、RichClipboard プロパティが True に設定された、リボンコントロールを含んだSpread コントロールを読み込みます。
    C#
    コードのコピー
    fpSpread1.Features.RichClipboard = true;
    fpSpread1.AsWorkbook().ActiveSheet.ActiveCell.PastePictureInCell();
    

    Visual Basic
    コードのコピー
    FpSpread1.Features.RichClipboard = True
    FpSpread1.AsWorkbook().ActiveSheet.ActiveCell.PastePictureInCell()
    

実行時に画像をセルに貼り付ける

リボンコントロールを使用して画像を貼り付けるには、次の手順に従います。

  1. クリップボードに画像をコピーします。
  2. 次のサンプル コードはを実行して、RichClipboard プロパティが True に設定された、リボンコントロールを含んだSpread コントロールを読み込みます。
    C#
    コードのコピー
    fpSpread1.Features.RichClipboard = true;
    ribbonBar1.Attach(fpSpread1);
    

    Visual Basic
    コードのコピー
    FpSpread1.Features.RichClipboard = True
    ribbonBar1.Attach(FpSpread1)
    
  3. コピーした画像を貼り付けるコピー先のセルを右クリックします。
  4. コンテキストメニューで、「セルに画像を貼り付け(C)」 オプションを選択します。

     

 

 


© MESCIUS inc. All rights reserved.