DioDocs for Excel
DioDocs for Excel
セルの自動結合
機能 > ワークシート > 範囲の操作 > セルの自動結合

DioDocs for Excelでは、IWorksheet インタフェースのAutoMerge メソッドを使用することで、同じテキストを含む隣接するセルを結合させたい場合に自動結合の設定をセル範囲に設定することが可能です。AutoMergeメソッドによる自動結合は、ワークブックをPDF、HTML、画像、.xlsx、.sjs、JSONなどの各形式にエクスポートする際、XlsxSaveOptionsSjsSaveOptionsSerializationOptionsPdfSaveOptionsImageSaveOptionsHtmlSaveOptionsの各クラスのIncludeAutoMergedCells プロパティをtrueに設定している場合に適用されます。

AutoMergeメソッドには、以下のパラメータが用意されています。

パラメータ名 説明
range 自動結合する範囲
direction

自動結合の方向。デフォルトは"Column"です

AutoMergeDirection 列挙体として、以下のような自動結合の方向が設定可能です。

  • Row: 自動結合は行方向(水平方向)に行われます
  • Column: 自動結合は列方向(垂直方向)に行われます
  • ColumnRow: 自動結合は列方向に対して優先的に行われ、次に行方向に対して行われます
  • RowColumn: 自動結合は行方向に対して優先的に行われ、次に列方向に対して行われます
  • None: 自動結合を行いません
mode

自動結合モード。デフォルトは"Free"です。

AutoMergeMode 列挙体として、以下のような結合モードが設定可能です。

  • Free: 隣接するセルが同じ値を持つ場合、自動結合が行われます.
  • Restricted: 隣接するセルが同じ値を持ち、かつ直前の行または列にある関連性のあるセルが結合されている場合にのみ自動結合が行われます。
selectionMode

自動結合時のセルの選択モード。デフォルトは"Source"です。

AutoMergeSelectionMode 列挙体として、以下のような選択モードが設定可能です。

  • Source: 自動結合時も、個々のセルを選択する。IncludeAutoMergedCellsプロパティ が False の場合のみ有効です。
  • Merged: 自動結合によって結合されたセル全体を選択する。

メモ: selectionModeプロパティは、SpreadJS形式でエクスポートした場合にのみ有効です。

自動結合情報をセルに設定した上で、ワークブックを.xlsx、.sjs、.pdf、.png形式にエクスポートする方法については、次のサンプルコードを参照してください。

C#
コードのコピー
// 新しいワークブックを生成します
var workbook = new Workbook();

// 既存のワークブックを開きます
workbook.Open("Regional_Product_List.xlsx");

// アクティブなワークシートを取得します
var worksheet = workbook.ActiveSheet;

// 結合モードを"Restricted"、選択モードを"Merged"として自動結合情報をワークシート上の値が設定されている範囲に設定します
worksheet.AutoMerge(worksheet.UsedRange, AutoMergeDirection.Column, AutoMergeMode.Restricted, AutoMergeSelectionMode.Merged);

// セルを自動的に結合するために、各エクスポートオプションのIncludeAutoMergedCellsプロパティを"true"に設定します
// (XLSX形式)
XlsxSaveOptions xlsxOptions = new XlsxSaveOptions
{
    IncludeAutoMergedCells = true
};

// (.sjs形式:SpreadJS形式)
SjsSaveOptions sjsOptions = new SjsSaveOptions
{
    IncludeAutoMergedCells = true
};

// (PDF形式)
PdfSaveOptions pdfOptions = new PdfSaveOptions
{
    IncludeAutoMergedCells = true
};

// (PNG形式)
ImageSaveOptions pngOptions = new ImageSaveOptions
{
    IncludeAutoMergedCells = true
};

// XLSX形式にエクスポートします
workbook.Save("AutoMerge.xlsx", xlsxOptions);

// .sjs形式にエクスポートします
workbook.Save("AutoMerge.sjs", sjsOptions);

// PDF形式にエクスポートします
workbook.Save("AutoMerge.pdf", pdfOptions);

// PNG形式にエクスポートします
worksheet.ToImage("AutoMerge.png", pngOptions);

 

自動結合なし 自動結合時

メモ: