チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»Python»Spire.XLS for Python»セル»Python:Excelファイルのセルを結合・解除する方法
2025-05-27

Python:Excelファイルのセルを結合・解除する方法

セルの結合とは、隣接する複数のセルを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()

Pythonで行や列のセルを結合した例

セル範囲を結合する

特定の列や行だけでなく、任意のセル範囲を結合することも可能です。以下の手順で行います。

  • 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()

Pythonでセル範囲を結合したExcelの例

指定行または列のセルの結合を解除する

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()

Pythonで結合された行や列を解除した例

セル範囲の結合を解除する

特定のセル範囲の結合も以下の手順で簡単に解除できます。

  • 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()

Pythonで結合セル範囲を解除したExcelの例

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 43 times