セルを結合するサンプルです。
結合前
結合後
プログラム
merge_cells_basic.py
#! /usr/bin/python
# ---------------------------------------------------------------
# merge_cells_basic.py
#
# Jun/14/2024
# ---------------------------------------------------------------
import sys
import openpyxl
from openpyxl.styles import Alignment
# ---------------------------------------------------------------
def align_adjust_proc(row):
ws.cell(row, 1).alignment = Alignment(horizontal='center',vertical='center')
ws.cell(row, 2).alignment = Alignment(horizontal='center',vertical='center')
# ---------------------------------------------------------------
xlsx_in=sys.argv[1]
#
wb = openpyxl.load_workbook(filename=xlsx_in)
ws = wb.worksheets[0]
#
ws.merge_cells(start_row=1,start_column=1, end_row=4, end_column=1)
ws.merge_cells(start_row=1,start_column=2, end_row=4, end_column=2)
align_adjust_proc(1)
#
ws.merge_cells(start_row=5,start_column=1, end_row=8, end_column=1)
ws.merge_cells(start_row=5,start_column=2, end_row=8, end_column=2)
align_adjust_proc(5)
#
ws.merge_cells(start_row=9,start_column=1, end_row=12, end_column=1)
ws.merge_cells(start_row=9,start_column=2, end_row=12, end_column=2)
align_adjust_proc(9)
#
for it in range(6):
jt = it * 2 + 1
pos = 'C%d:C%d' % (jt,jt+1)
ws.merge_cells(pos)
ws.cell(jt, 3).alignment = Alignment(horizontal='center',vertical='center')
#
wb.save(xlsx_in)
# ---------------------------------------------------------------
実行方法
./merge_cells_basic.py ex01.xlsx