PythonでExcelの罫線を引こうとする場合、セルごとに上下左右に個別の指定を行う必要があると説明したが、前回はこの機能を使って表を引く方法を取り上げた。今回は同じ機能を使ってボックス(枠線)を引く方法を説明する。
連載「PythonでExcel作業の効率化を図ろう」のこれまでの回はこちらを参照。
テンプレートにボックスを引いておけない時への対処
Microsoft Excelで書類を作成する場合、特定のデータをグループ化するために全体を線で囲むことがある。例えば、請求書や領収書であれば送付元企業の社名や住所を記入しているデータを枠線で囲んでグループ化するといったような使い方だ。
Microsoft Excelの書類をプログラムから操作して自動的に生成するような処理を行う場合、Microsoft Excelのデータを一から作成するケースはあまりないだろう。テンプレートを作っておいて、そこに必要なデータをプログラムで入力するといったような操作を行うことが多いと思う。
しかしながら、場合よってはそうした操作では処理できないことがある。例えば、ボックスを引きたい部分に入力されるデータが個別に異なる複数行に渡るような内容で、テンプレートファイルにボックスを引いておけないようなケースだ。
そうしたケースでは、入力されるデータに合わせてあとからMicrosoft Excelの特定の領域にボックスを引く必要がある。今回取り上げるサンプルはそうしたケースで使うことができる内容だ。
ボックスを引くPythonスクリプト
では、早速複数のセルにボックスを引くPythonスクリプトを作成する。ここではopenpyxl_sample_box_1.pyとして用意した。先に成果物を示すと次のようになる。
import openpyxl