今回の目的
ズバリ、印刷設定。である。それ以外はない。w
前記事はこちら
印刷範囲を設定する
worksheet.print_area = 'A1:C4'
'A1:C4'
って直接書いたけど、こんな感じで作っちゃえばいいね。
startcol = get_column_letter(worksheet.min_column)
endcol = get_column_letter(worksheet.max_column)
area_str = startcol + '1:' + endcol + str(worksheet.max_row)
上下位置をセンターにする
worksheet.print_options.verticalCentered = True
出来上がり
ふむふむ。
(正直いうと、公式hp見て、試して、出来上がりを見ているだけだったりする。w)
左右位置をセンターにする
worksheet.print_options.verticalCentered = True
ちなみに、VSCodeを使っているのですが、以下までコードを書くと何やら設定可能な値が見える
ま、色々設定できそうですね。
表のタイトルをつける
そう、印刷のマイページごとに表示してほしい、列を入れた行を指定するんです。
worksheet.print_title_rows = '1:1'
こんな感じ。
今のエクセルの例だと変わらないので結果はなし!w
worksheet.print_title_rows = '1:2'
1、2行めを指定したい場合は下記。別のファイルで試した。(あ、表に出せないファイルなんでご勘弁)
印刷用紙の方向の設定
orientation
には「向き」の意味があります。
そのorienttation
に設定を入れていきます。
# 横向き
worksheet.page_setup.orientation = worksheet.ORIENTATION_LANDSCAPE
# 縦向き
worksheet.page_setup.orientation = worksheet.ORIENTATION_PORTRAIT
無言で進みます。w
印刷用紙の設定
B5に設定する場合
worksheet.page_setup.paperSize = worksheet.PAPERSIZE_A5
終わりに
いきなり終わります。w
だって、うす〜く理解するだけですから。
なんとなく、openpyxlがわかってきました。次は実践して楽しましょ。
csvやエクセルを読み込んで、pandasで処理してエクセルに書き込んで体裁整えてホイっ!
同じような作業があったら、どんどん作業はパソコンに任せちゃいましょう!
最近はエンタープライズ契約のMicrosoft365にはscriptができて、JavaSriptでも動かせるようになりました。
慣れているのはJavaSriptか、pythonか。強力なpandasが使えるのはpython。
どっち使うかはあなた次第!