はじめに:面倒な「印刷設定」、Pythonに任せてしまおう!
PythonでExcelレポートを自動生成できるようになった!…でも、そのファイルを印刷しようとすると、毎回手作業で「枠線を付けて…」「中央に配置して…」なんて設定をしていませんか?
その一手間、非常にもったいないです! openpyxlライブラリには、そうした面倒な印刷オプションをすべてコードで自動設定するための便利な機能、PrintOptionsが用意されています。
この記事では、PrintOptionsの特に便利な使い方に絞って、明日からすぐに使える実践的なテクニックを紹介します。もう二度と、印刷ダイアログで時間を無駄にするのはやめましょう。
PrintOptionsとは?シートごとの印刷設定スイッチ
PrintOptionsは、ワークシートオブジェクト(ws)に付属している、印刷設定専用のスイッチ群のようなものです。ws.print_optionsに続けて、設定したい項目のスイッチをTrue(オン)にするだけで、簡単に印刷設定を自動化できます。
# worksheetオブジェクト(ws)のprint_optionsに直接アクセス
ws.print_options.gridLines = True # 枠線印刷をオン
ws.print_options.horizontalCentered = True # 水平中央揃えをオンとてもシンプルで直感的ですね。では、具体的にどんな便利なスイッチがあるのか見ていきましょう。
PrintOptionsの便利な使い方ベスト3
数ある設定項目の中でも、特に利用頻度が高く、効果絶大な3つの使い方を紹介します。
便利な使い方①:gridLinesとheadingsでレビュー用資料を一発作成
こんな時に便利!
- データが正しいか他の人にレビューしてもらう時
- 数式の参照セルを確認したい時
gridLinesをTrueにすると、Excelの薄い灰色の枠線が、headingsをTrueにすると行列番号(A, B, C…や1, 2, 3…)が印刷されます。
from openpyxl import load_workbook
wb = load_workbook("your_file.xlsx")
ws = wb.active
# レビューに便利なオプションをまとめてオンにする
ws.print_options.gridLines = True # 枠線を印刷
ws.print_options.headings = True # 行列番号を印刷
print("レビュー用の印刷設定を適用しました。")
wb.save("your_file_for_review.xlsx")このコードを実行すれば、セルの位置が非常に分かりやすいレビュー用のExcelファイルが一瞬で完成します。
便利な使い方②:horizontalCenteredとverticalCenteredで見栄えを整える
こんな時に便利!
- 表やグラフが小さく、印刷すると紙の左上に寄ってしまう時
- 公式な提出書類として見栄えを良くしたい時
この2つのスイッチをTrueにするだけで、印刷内容が用紙のど真ん中に配置されます。
# ...前のコードの続き...
# 用紙の中央に印刷する設定
ws.print_options.horizontalCentered = True # 水平方向の中央
ws.print_options.verticalCentered = True # 垂直方向の中央
print("ページ中央揃えの設定を適用しました。")
wb.save("your_file_centered.xlsx")たった2行追加するだけで、レポートの印象がぐっとプロフェッショナルになります。
便利な使い方③:PageMarginsと組み合わせてレイアウトを完全制御
PrintOptionsは、前回紹介したPageMargins(余白設定)と組み合わせることで真価を発揮します。
from openpyxl.worksheet.page import PageMargins
# ...前のコードの続き...
# 余白を「狭い」に設定
ws.page_margins = PageMargins(left=0.25, right=0.25, top=0.75, bottom=0.75)
# さらに中央揃えも設定
ws.print_options.horizontalCentered = True
ws.print_options.verticalCentered = True
print("余白と中央揃えを組み合わせて設定しました。")
wb.save("your_file_perfect_layout.xlsx")このように、余白と配置を両方コードで制御することで、印刷レイアウトの完全な自動化が実現します。
まとめ:PrintOptionsで「かゆいところ」に手を届かせる
今回は、openpyxlのPrintOptionsの便利な使い方を解説しました。
- **
print_options**属性に直接アクセスしてスイッチを切り替えるだけ! gridLines/headings: レビュー用資料の作成に超便利。horizontalCentered/verticalCentered: 見栄えを整える必須設定。- **
PageMargins**と組み合わせることで、印刷レイアウトを完全自動化できる。
PrintOptionsは、Excel自動化の「最後の仕上げ」とも言える重要な機能です。この便利な使い方をマスターして、データ作成から印刷まで、一切手作業のいらないストレスフリーな自動化環境を構築しましょう。


コメント