セルの結合とは、隣接する複数のセルを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 日間有効な一時ライセンスを取得してください。