毎日、Twitterで日々の成果や頑張りをツイートしてします!

【Python】OpenPyXlでExcelセルの罫線に色をつける方法を解説!

アイキャッチ画像
カズトン

みなさん、おはようございます!

カズトンです!

今回の記事もPythonのライブラリである”OpenPyXl”を使って、Excelを操作するものです。

本記事で解説する内容は、「Excelのセルに罫線をつける方法」です。

他にもExcelを操作する方法を解説した記事がありますので、こちらからご覧ください。

Pythonを使ってめんどくさい作業を、自動化してしまいましょう!

はじめに、Excel操作ができる”OpenPyXl”の導入とPCやツールのバージョンの確認をします。

導入やバージョンの確認ができている方は、スキップして解説を読んでください。

カズトン

では、スタート!

はじめに

事前準備として、以下の2つの項目を確認します。

確認事項
  • OpenPyxlをPCに導入できているか
  • 作業環境のバージョンを把握しているか

OpenPyXlの導入

Excelの操作を行うことができる”OpenPyXl”をパソコンにインストールはできていますか?

このPythonのライブラリをダウンロードしていないと、Excelの操作をすることができないので必ず確認しておいてください。

まだ導入できていない人は、こちらの記事を参考にPCにダウンロードしてみてください。

PCにPythonをインストールしていない方は、こちらからお使いパソコンに合わせてダウンロードしてください。

PCやツールのバージョン確認

今回のExcel操作を行った環境をまとめておきます。

バージョンの違いでエラーが発生するしたり、バージョンが解決の手がかりになったりとするので確認しておきます。

環境バージョン
Python2.7.16
OpenPyXl1,2,4
Excel2019年版
Mac OS12.0.1
環境の確認

セルの枠線に色をつける方法

ここからが、本編です。

Excelのセルに罫線をつける方法を解説していきます。

はじめにまとめた構文を紹介し、その後にコードをブロックに分けて解説していきます。

構文

構文を紹介します。(コピペで使ってください。)

#ライブラリのインポート
import openpyxl
from openpyxl.styles.borders import Border , Side

#編集するExcelファイル、シートの読み込み
excel_file = openpyxl.load_workbook('ファイル名')
excel_sheet = excel_file["シート名"]

#罫線の定義
side = Side(style='thin',color='000000')
border = Border(top=side,bottom=side,left=side,right=side)
border_right = Border(right=side)
border_bottom = Border(bottom=side)

#特定のセルへ罫線を指定
excel_sheet['セル番地'] = border
excel_sheet['セル番地'] = border_right
excel_sheet['セル番地'] = border_bottom

#Excelファイルの上書き保存
excel_file.save('ファイル名')

コードの解説

コードの解説では、5つのブロックに分けて行います。

Step1:ライブラリのインポート

これから紹介する2行を記述しないと、セルに罫線を引くことができないので必ず書くようにしてください。

import openpyxl

まずは、ライブラリのインポートです。

この一文の意味は、「これから、ライブラリを使うぞ!」と宣言しているみたいなものです。

他のライブラリを読み込むときは、「import ライブラリ名」で指定してください。

まとめ

構文:import ライブラリ名

解説:ライブラリを利用するときに必要になるコード

from openpyxl.styles.borders import Border , Side

この一文は、OpenPyXlから罫線を引くための関数を呼び出しています。

こちらも記述がないと罫線を指定することができないので、注意してください。

まとめ

構文:from openpyxl.styles.borders import Border , Side

解説:Excelのセルに罫線を指定するために必要な関数の読み込みに必要なコード

Step2:編集するExcelファイル・シートを読み込む

excel_file = openpyxl.load_workbook('ファイル名')

load_workbookメソッドを使って、罫線を指定したいExcelファイルを読み込みます。

編集したExcelファイルの名前を間違えないように、打ち込んでください。

詳しくは、こちら

まとめ

構文:openpyxl.load_workbook(‘ファイル名’)

解説:編集したいExcelファイルの名前を引数として渡すことで、ファイルを読み込む

アイキャッチ画像
excel_sheet = excel_file["シート名"]

Excelファイルを読み込んだ変数の後ろに編集したいExcelシートの名前を指定することで、Excelシートを取得することができます。

こちらも、シート名を間違えないようにしましょう。

他の取得方法で、”インデックスを指定”などがあります。そちらの説明は、この記事から。

まとめ

構文:excelファイル[“シート名”]

解説:編集したいExcelシートの名前を引数として渡すことで、シートを読み込む

アイキャッチ画像

Step3:罫線の定義

Side関数

side = Side(style='thin',color='000000')

Side関数では、罫線のデザインを指定します。

style(形)とcolor(色)を選ぶことができます。

styleで指定できるものは、’thin’以外にもたくさんあります。

3つだけ紹介しておきます。

style
  • thin:細い線(Excelでよく使う罫線はこれ!)
  • thick:太い線
  • medium:少し太い線

colorは、カラーコードの#のあとを指定します。(例 #000000 → 000000)

カラーコードの確認は、こちらで!

例では、細い罫線の黒色で指定しています。

まとめ

構文:Side(style=’thin’,color=’000000′)

解説:線の太さや色を指定して罫線のデザインを決めるコード

Border関数

border = Border(top=side,bottom=side,left=side,right=side)
border_right = Border(right=side)
border_bottom = Border(bottom=side)

border関数は、セル周りのどこに罫線をつけるかを指定するものです。

セルの右だけにつけるなら、以下のようにrightにだけsideを指定します。

※sideとは、side関数で指定したデザインのことです。

border_right = Border(right=side)
まとめ

構文:Border(top=side,bottom=side,left=side,right=side)

解説:罫線をつける位置を指定するコード

Step4:特定のセルに罫線を指定

excel_sheet['セル番地'] = border
excel_sheet['セル番地'] = border_right
excel_sheet['セル番地'] = border_bottom

罫線をつけたいセルの番地を決めて、Border関数で作った罫線で指定します。

Border関数を代入した変数を使って定義しています。

まとめ

構文:excelシート[‘セル番地’] = border

解説:特定のセルに罫線を指定するコード

Step5:Excelファイルを上書き保存

excel_file.save('ファイル名')

Excelファイルを編集したあとは、この一文をつけましょう。とても大事です。

この一文の意味は、編集したExcelファイルを保存することです。

ファイル名の付け方
  • 編集したExcelファイルと同じ名前:上書き保存
  • 新しいExcelファイルの名前:名前をつけて保存

上書き保存をする場合は、ファイル名を同じにしてください。

まとめ

構文:読み込んだExcelファイル.save(‘ファイル名’)

解説:上書き保存をしたい場合は、読み込んだExcelファイル名を指定しましょう。

おわりに

最後まで読んでくださり、ありがとうございました。

無事、セルに罫線を指定することができましたか?

わからないことがあれば、質問してくださいね!

では、また!

最後まで読んでくれてありがとう