MENU

PythonでExcelの印刷範囲と見出し行を整える

当ページのリンクには広告(PR)が含まれていることがあります。
PythonでExcelの印刷範囲と見出し行を整える。Excelの帳票、範囲と見出し行、印刷設定を保存の処理例。

生成したExcel帳票は、セルに値が入っただけでは印刷用の範囲まで決まりません。右側の作業用メモが印刷されたり、二ページ目に列名が出なかったりする場合は、印刷設定も出力の一部として確認します。

openpyxlでは印刷するセル範囲、ページごとに繰り返す見出し行、用紙の向きを設定できます。保存後に設定を読み戻す確認と、実際の紙面を見る確認を分けて進めます。

目次

印刷範囲と繰り返す行を保存

次は一行の見出しと五行の架空明細を持つブックです。印刷範囲をA1:C6とし、一行目をページごとの見出しに指定します。ファイルはメモリー上へ保存するだけで、プリンターへは送りません。

from io import BytesIO
from openpyxl import Workbook, load_workbook

book = Workbook()
sheet = book.active
sheet.title = "集計"
sheet.append(["ID", "部門", "金額"])
for number in range(1, 6):
    sheet.append([f"T{number}", "A", number * 100])
sheet["E1"] = "印刷対象外の確認メモ"
sheet.print_area = "A1:C6"
sheet.print_title_rows = "1:1"
sheet.page_setup.orientation = sheet.ORIENTATION_LANDSCAPE
sheet.page_setup.paperSize = sheet.PAPERSIZE_A4

buffer = BytesIO()
book.save(buffer)
book.close()
check = load_workbook(BytesIO(buffer.getvalue()))
result = check["集計"]
print("見出し行:", result.print_title_rows)
print("用紙の向き:", result.page_setup.orientation)
print("印刷範囲の設定あり:", bool(result.print_area))
assert result.print_title_rows == "$1:$1"
assert "$A$1:$C$6" in str(result.print_area)
assert result.page_setup.orientation == "landscape"
check.close()

見出し行は$1:$1、向きはlandscapeとなり、印刷範囲も保存されます。Windows・Python 3.12.10・openpyxl 3.1.5で、この設定の読み戻しを確認しました。Excelの印刷プレビューや実際の出力は確認していません。

E1のメモはシートに残っていますが、印刷範囲の外です。元の値を消すことと、印刷対象へ含めないことを別の操作として扱えます。

明細が増えたら最終行も更新する

印刷範囲を六行目まで固定したまま明細を追加すると、新しい明細が印刷範囲へ入りません。出力した明細数から最終行を求め、見出しや合計行を含むかも合わせて決めます。

シートの最終行を無条件に使うと、下に残る過去の書式や別の表まで対象になることがあります。帳票として印刷したい範囲を、出力処理の中で把握する方が確認しやすくなります。

見出しが二行なら、繰り返す範囲も変わります。結合した見出し、注記、ページ番号などがある場合は、帳票の構成に合わせて設定してください。

改ページは表示する環境でも確かめる

横向きへ変えただけで、すべての列が読みやすく一枚へ収まるとは限りません。列幅、フォント、余白、拡大縮小、用紙、出力先の環境によって確認する点が残ります。

openpyxlで設定を保存できたことを、PDFの生成やプリンターでの印刷成功とは報告しないようにします。共有先が使う環境でプレビューを開き、右端の列、二ページ目の見出し、最終明細が見えるかを確認します。

最初は印刷対象外のメモを一つ置いた小さな帳票で、範囲が意図どおりかを試すと追いやすくなります。設定の読み戻し結果とプレビュー確認を残せば、値の問題と紙面の問題を分けられます。

セルの保存はopenpyxl入門、帳票全体の設計は見積書・請求書作成の設計で確認できます。

参考資料

openpyxlの印刷設定公式資料を2026年11月1日に確認しました。

この記事を書いた人

Watanabeのアバター Watanabe サイト運営者

2020年よりブログ開始。
SEOが思いのほか性にあっていたようで現在に至る。
モットーは「勝率の高い選択をする」
AIは活用するが吉、最後は人間が息を吹き込む。
アートと科学を追求し、日々精進。
―――
収益:6~7桁をウゴウゴ。
サイト:ペラサイト~中規模サイトまで運営中。
案件:1000円以上の案件をメインに取組中。
打ち手:ブラックSEO~ホワイトSEOまで
―――

目次