コース: PythonでExcelデータを処理する

罫線を引く

罫線を引く手続きは少し面倒です。 罫線の種類、色を設定した Side オブジェクトを生成し、 Side オブジェクトを渡して Border オブジェクトを生成し、 それをセルの border プロパティに 設定するという手順で 罫線を引くことができます。 プログラムで見ていきましょう。 set_border.py です。 openpyxl.styles パッケージから Border クラスと Side クラスをインポートします。 sample5_1 の罫線シートに 罫線を引いていきます。 まず、 Side クラスのオブジェクトを 作っていきます。 side1、side2 というような 変数名で作っています。 style に罫線のスタイルを 指定します。 color には罫線の色を 指定しています。 side1 から side6 まで 作っていますが、 style、thin、細い線ですね。 thick、太い線ですね。 それから、dashed、dashDot、 double、二重線ですね。 dashDotDot などの style を定義しています。 color は rgb で 指定しますので、 000000 が黒ですね。 00FF00 は緑ですね。 このようにして、 rgb で罫線の色を指定します。 そして、Border クラスの オブジェクトを生成して、 セルの border プロパティに 代入します。 Border クラスのオブジェクトを 生成するときに、 left、左側、right、右側、 top、上、bottom、下に どの Side オブジェクトを 指定するかによって、 引かれる罫線が変わってきます。 この場合は side5 ですので、 二重線ですね。 side6 は dashDotDot、 どのようなケースになるのでしょうか。 sample5_1_new として 保存してプログラムは終了です。 実行して見てみましょう。 「罫線」というシートです。 これが style=thin で 書いた罫線です。 こちらは thick で書いた罫線です。 H列、I列は dashed、 K列、L列は dashDot ですね。 ダッシュとドットです。 6行目は、二重線、 double で書いた罫線です。 そして、こちらが dashDotDot ですね。 ダッシュとドットドットという罫線が 引かれています。 例としていろいろな罫線を 引いてみましたが、 こんなにさまざまな罫線を 引く必要はないにしても、 Excel で作成するドキュメントには 罫線が必要なことが多いですね。

目次