セルの結合とは、隣接する複数のセルを1つの大きなセルにまとめる操作です。結合されたセルは元のセルの内容やプロパティを引き継ぎます。この機能は、見出し行を作成したり、広い領域にデータを表示したい場合に非常に便利です。 一方、セルの結合解除は、結合されたセルを元の複数セルに戻す操作です。解除後のセルは独立した状態となり、それぞれ異なる内容を入力することができます。 このようなセルの結合・解除は、スプレッドシートで表のレイアウトや構造を柔軟に調整し、データの可読性を向上させるためによく使用されます。 本記事では、Spire.XLS for Python を使用して、PythonでExcelファイル内のセルを結合または結合解除する方法をご紹介します。 指定行または列のセルを結合する方法 セル範囲を結合する方法 指定行または列のセルの結合を解除する方法 セル範囲の結合を解除する方法 Spire.XLS for Python のインストール この操作には、Spire.XLS for Python と plum-dispatch v1.7.4 が必要です。これらは、Spire.XLS for Python の公式ウェブサイトから手動でダウンロードするか、以下の pip コマンドでインストールできます。 pip install Spire.XLS 指定行または列のセルを結合する Spire.XLS for Python を使用すると、特定の行または列のセルを簡単に結合することができます。以下はその手順です。 Workbook クラスのオブジェクトを作成します。 Workbook.LoadFromFile() メソッドでExcelファイルを読み込みます。 Workbook.Worksheets[] プロパティを使って対象のワークシートを取得します。 Worksheet.Columns[] または Worksheet.Rows[] の Merge() メソッドを使って、指定の列または行を結合します。 Workbook.SaveToFile() メソッドで結果ファイルを保存します。 from spire.xls import Workbook, HorizontalAlignType, VerticalAlignType inputFile = "Sample.xlsx" outputFile = "output/行と列の結合.xlsx" # Workbook クラスのオブジェクトを作成します workbook = Workbook() # サンプルの Excel ファイルをディスクから読み込みます workbook.LoadFromFile(inputFile) # このファイルの最初のワークシートを取得します sheet = workbook.Worksheets # Excel の最初の列を結合します # sheet.Columns.Merge() # Excel の最初の行を結合します sheet.Rows.Merge() # 結合されたセルのテキストを中央揃えにする sheet.Rows.HorizontalAlignment = HorizontalAlignType.Center sheet.Rows.VerticalAlignment = VerticalAlignType.Center # 結果ファイルを保存します workbook.SaveToFile(outputFile) workbook.Dispose() セル範囲を結合する 特定の列や行だけでなく、任意のセル範囲を結合することも可能です。以下の手順で行います。 Workbook クラスのオブジェクトを作成します。 Workbook.LoadFromFile() メソッドでExcelファイルを読み込みます。 Workbook.Worksheets[] プロパティを使って対象のワークシートを取得します。 Worksheet.Range[] の Merge() メソッドを使って、特定のセル範囲を結合します。 Workbook.SaveToFile() メソッドで結果ファイルを保存します。 from spire.xls import Workbook, HorizontalAlignType, VerticalAlignType inputFile = "Sample.xlsx" outputFile = "output/セル範囲の結合.xlsx" # Workbook クラスのオブジェクトを作成します workbook = Workbook() # サンプルの Excel ファイルをディスクから読み込みます workbook.LoadFromFile(inputFile) # このファイルの最初のワークシートを取得します sheet = workbook.Worksheets # Excel の指定したセル範囲を結合します sheet.Range["B2:C3"].Merge() # 結合されたセルを揃える sheet.Range["B2:C3"].HorizontalAlignment = HorizontalAlignType.Center sheet.Range["B2:C3"].VerticalAlignment = VerticalAlignType.Center # 結果ファイルを保存します workbook.SaveToFile(outputFile) workbook.Dispose() 指定行または列のセルの結合を解除する Spire.XLS for Python を使えば、結合されたセルをいつでも元に戻すことが可能です。以下は特定の行または列のセルの結合を解除する手順です。 Workbook クラスのオブジェクトを作成します。 Workbook.LoadFromFile() メソッドでExcelファイルを読み込みます。 Workbook.Worksheets[] プロパティを使って対象のワークシートを取得します。 Worksheet.Columns[] または Worksheet.Rows[] の UnMerge() メソッドを使って、結合されたセルを解除します。 Workbook.SaveToFile() メソッドで結果ファイルを保存します。 from spire.xls import Workbook inputFile = "output/行と列の結合.xlsx" outputFile = "output/行と列の結合解除.xlsx" # Workbook クラスのオブジェクトを作成します workbook = Workbook() # サンプルファイルをディスクから読み込みます workbook.LoadFromFile(inputFile) # このファイルの最初のワークシートを取得します sheet = workbook.Worksheets # Excel の最初の列の結合を解除します # sheet.Columns.UnMerge() # Excel の最初の行の結合を解除します sheet.Rows.UnMerge() # ファイルに保存します workbook.SaveToFile(outputFile) workbook.Dispose() セル範囲の結合を解除する 特定のセル範囲の結合も以下の手順で簡単に解除できます。 Workbook クラスのオブジェクトを作成します。 Workbook.LoadFromFile() メソッドでExcelファイルを読み込みます。 Workbook.Worksheets[] プロパティを使って対象のワークシートを取得します。 Worksheet.Range[] の UnMerge() メソッドを使って、セル範囲の結合を解除します。 Workbook.SaveToFile() メソッドで結果ファイルを保存します。 from spire.xls import Workbook inputFile = "output/セル範囲の結合.xlsx" outputFile = "output/セル範囲の結合解除.xlsx" # Workbook クラスのオブジェクトを作成します workbook = Workbook() # サンプルファイルをディスクから読み込みます workbook.LoadFromFile(inputFile) # このファイルの最初のワークシートを取得します sheet = workbook.Worksheets # Excel の指定したセル範囲の結合を解除します sheet.Range["B2:C4"].UnMerge() # ファイルに保存します workbook.SaveToFile(outputFile) workbook.Dispose() 一時ライセンスを申請する 結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。