SPREAD for WPF 3.0J - GcSpreadSheet
セル
SPREAD for WPF 3.0J - GcSpreadSheet > 開発者ガイド > セル

GcSpreadSheetは、セルに対してさまざまな操作を行えます。

セル結合

ワークシートのセルを結合して複数行や複数列にまたがるセルを実現できます。

結合セルは指定した範囲内のセルを組み合わせて1つのセルを作成することです。例えば、次の画像で示しているように、A1〜C3のセル範囲を結合すると、セルA1がA1からC3までのスペースを占有します。

 

複数セルを結合すると、結合範囲の最初セル(アンカーセル)のデータがすべてのスペースを占有します。結合範囲の他のセルにあるデータが各セルに保持され、結合範囲によって非表示されます。セル結合を解除すると、すべてのセルの中身が以前と同様に再表示されます。

ワークシートのセルを結合するにはIRangeインタフェースのMergeメソッドを使用し、結合を解除するには同じインタフェースのUnMergeメソッドを使用します。

コードのコピー
// セルを結合します。
gcSpreadSheet.Workbook.ActiveSheet.Cells["A1"].Interior.Color = GrapeCity.Spreadsheet.Color.FromKnownColor(GrapeCity.Core.KnownColor.Thistle);
gcSpreadSheet.Workbook.ActiveSheet.Cells["A1:C3"].Merge();
gcSpreadSheet.Workbook.ActiveSheet.Cells["A1"].Text = "Merged Cell Range";

// セルの結合を解除します。
gcSpreadSheet.Workbook.ActiveSheet.Cells["A1:C3"].UnMerge();
コードのコピー
'セルを結合します。
gcSpreadSheet.Workbook.ActiveSheet.Cells("A1").Interior.Color = GrapeCity.Spreadsheet.Color.FromKnownColor(GrapeCity.Core.KnownColor.Thistle)
gcSpreadSheet.Workbook.ActiveSheet.Cells("A1:C3").Merge()
gcSpreadSheet.Workbook.ActiveSheet.Cells("A1").Text = "Merged Cell Range"

'セルの結合を解除します。
gcSpreadSheet.Workbook.ActiveSheet.Cells("A1:C3").UnMerge()

セルのロック

ワークシートを保護すると、セルの編集が禁止することができます。この場合、セルの編集を有効にするには、IRangeインタフェースのLockedプロパティをfalseに設定することでセルのロックを解除できます。セルがロックされている状態で、その中身をコピーすることが可能です。

コードのコピー
// ワークシートを保護します。
gcSpreadSheet.Workbook.ActiveSheet.Protect(GrapeCity.Spreadsheet.WorksheetLocks.Default, "test");
// セルのロックを解除します。
gcSpreadSheet.Workbook.ActiveSheet.Cells["C3:D4"].Text = "Unlocked";
gcSpreadSheet.Workbook.ActiveSheet.Cells["C3:D4"].Locked = false;
コードのコピー
'ワークシートを保護します。
gcSpreadSheet.Workbook.ActiveSheet.Protect(GrapeCity.Spreadsheet.WorksheetLocks.[Default], "test")
'セルのロックを解除します。
gcSpreadSheet.Workbook.ActiveSheet.Cells("C3:D4").Text = "Unlocked"
gcSpreadSheet.Workbook.ActiveSheet.Cells("C3:D4").Locked = False

セルの自動マージ

自動マージ機能を使用すると、列または行内で重複テキストが含まれた隣接するセルを自動的にマージされるように設定できます。セルの自動マージを行う列と行を指定することができます。
これにより、冗長性(テキストの繰り返し)を除いて、ワークシートの複雑さを取り除くことができます。また、重複するセルを手動で確認して1つずつ結合する必要がなくなるため、時間と労力を節約できます。

次の図は、自動マージ操作がSupplierIDとCategoryIDの各列内で重複テキストをどのように結合するかを示します。

ワークシートで自動マージを有効にするには、MergePolicy列挙体を使用できます。

マージの処理方法は、MergePolicy列挙体を使用して設定します。

メモ:

 

以下のコードは、ワークシートで2列目の同じ値を持つセルを自動的にマージする方法を示します。

コードのコピー
<gss:GcSpreadSheet x:Name="GcSpreadSheet" Grid.Row="1" Margin="0,0,318,47" Grid.RowSpan="2">
    <gss:GcSpreadSheet.Sheets>
       <gss:SheetInfo ColumnCount="20" RowCount="50">
          <gss:SheetInfo.Columns>
             <gss:ColumnInfo MergePolicy="Always">
             </gss:ColumnInfo>
          </gss:SheetInfo.Columns>
       </gss:SheetInfo>
     </gss:GcSpreadSheet.Sheets>
 </gss:GcSpreadSheet>
コードのコピー
// 2列目の「SupplierID」列のMergePolicyを「Always」に設定します。
GcSpreadSheet.Workbook.Worksheets[0].Columns[2].MergePolicy = MergePolicy.Always;
コードのコピー
' 2列目の「SupplierID」列のMergePolicyを「Always」に設定します。
GcSpreadSheet.Workbook.Worksheets(0).Columns(2).MergePolicy = MergePolicy.Always
関連トピック