セルの結合と解除
すべての行や列に常に同じ数のセルを必要とするわけではありません。 たとえば、複数の列にまたがるタイトルを配置したい場合や、請求書を作成する場合には、合計用の少ない列を使用したい場合があります。 2つ以上のセルを1つのセルに結合して、それらをマージします。 Microsoft Excelを使用して、ユーザーはセルを選択してマージし、スプレッドシートを自分の希望の形に整理することができます。
Microsoft Excelで選択されたセル範囲をマージしてから分割することで、左側のセルと同じ形式のセルになった結果
Aspose.Cellsはこの機能をサポートし、ワークシートでセルを結合することもできます。 また、結合されたセルを分割することもできます。 結合されたセルのセルの参照は、元の選択範囲の左上のセルの参照です。
セルがマージされると、データは左上のセルにしか保持されません。 範囲内の他のセルにデータがある場合、そのデータは削除されます。
フォーマットも同様に、参照セルに基づいているため、セルを結合すると、範囲内の左上のセルの書式設定が結合されたセルに適用されます。セルが分割されると、新しいセルは元の書式設定を保持します。
ワークシート内のセルの結合。
Microsoft Excel の使用
Microsoft Excel を使用してワークシートでセルを結合する手順は以下の通りです。
- 範囲内で左上のセルにデータをコピーします。
- 結合したいセルを選択します。
- 行または列内のセルを結合してセルの内容を中央に配置するには、書式設定ツールバーの結合して中央配置アイコンをクリックします。
Aspose.Cellsの使用
タスクには Cells クラスに有用なメソッドがいくつかあります。例えば、メソッド merge() は、セルを特定のセル範囲内の単一のセルに結合します。
以下のコードを実行した後に生成される出力は次のとおりです。
セル (C6:E7) が結合されました
コード例
以下の例は、ワークシート内のセル(C6:E7)を結合する方法を示しています。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(MergingCellsInWorksheet.class) + "data/"; | |
// Create a Workbook. | |
Workbook wbk = new Workbook(); | |
// Create a Worksheet and get the first sheet. | |
Worksheet worksheet = wbk.getWorksheets().get(0); | |
// Create a Cells object to fetch all the cells. | |
Cells cells = worksheet.getCells(); | |
// Merge some Cells (C6:E7) into a single C6 Cell. | |
cells.merge(5, 2, 2, 3); | |
// Input data into C6 Cell. | |
worksheet.getCells().get(5, 2).setValue("This is my value"); | |
// Create a Style object to fetch the Style of C6 Cell. | |
Style style = worksheet.getCells().get(5, 2).getStyle(); | |
// Create a Font object | |
Font font = style.getFont(); | |
// Set the name. | |
font.setName("Times New Roman"); | |
// Set the font size. | |
font.setSize(18); | |
// Set the font color | |
font.setColor(Color.getBlue()); | |
// Bold the text | |
font.setBold(true); | |
// Make it italic | |
font.setItalic(true); | |
// Set the backgrond color of C6 Cell to Red | |
style.setForegroundColor(Color.getRed()); | |
style.setPattern(BackgroundType.SOLID); | |
// Apply the Style to C6 Cell. | |
cells.get(5, 2).setStyle(style); | |
// Save the Workbook. | |
wbk.save(dataDir + "mergingcells_out.xls"); | |
wbk.save(dataDir + "mergingcells_out.xlsx"); | |
wbk.save(dataDir + "mergingcells_out.ods"); | |
// Print message | |
System.out.println("Process completed successfully"); |
結合されたセルの結合解除(分割)
Microsoft Excel の使用
以下の手順では、Microsoft Excelを使用して結合されたセルを分割する方法について説明します。
- 結合されたセルを選択します。 セルが結合されている場合、結合して中央配置が書式設定ツールバーで選択されます。
- 書式設定ツールバーで結合して中央配置をクリックします。
Aspose.Cellsの使用
Cells クラス には、結合されたセルの参照を使用してセルを元の状態に戻すメソッド unMerge() があります。このメソッドは、結合されたセル範囲内のセルを分割します。
コード例
以下の例は、結合されたセル(C6)を分割する方法を示しています。 この例では、前の例で作成されたファイルを使用し、結合されたセルを分割しています。
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(UnMergingCellsInWorksheet.class) + "data/"; | |
// Create a Workbook. | |
Workbook wbk = new Workbook(dataDir + "mergingcells.xls"); | |
// Create a Worksheet and get the first sheet. | |
Worksheet worksheet = wbk.getWorksheets().get(0); | |
// Create a Cells object to fetch all the cells. | |
Cells cells = worksheet.getCells(); | |
// Unmerge the cells. | |
cells.unMerge(5, 2, 2, 3); | |
// Save the file. | |
wbk.save(dataDir + "UnMergingCellsInWorksheet_out.xls"); | |
// Print message | |
System.out.println("Process completed successfully"); |