[python]Excel入門③セルの書式設定をする

2022年2月8日火曜日

excel openpyxl python

t f B! P L

 堂々と「Excel使えます!」って職場で言えるためのExcel入門の第2回です。

前回はこちら↓

[python]Excel入門②新規ファイルを作って保存する


前回はセルに文字列を入力するということをやりましたが、見た目が地味で面白くないです。

そんなわけで、今回は文字に色をつけたりフォント変えたり、セルも塗りつぶしたりというセルの書式設定ををやってみたいと思います。


①文字を変える

まず比較対象としてフォントを変更しない場合の初期設定を確認します。
フォント:MS Pゴシック
サイズ:11 pt
色:黒
ボールド(太字):なし
イタリック(斜体):なし
アンダーライン(下線):なし

変更前書式

import openpyxl as xl
from openpyxl.styles import Font, Color

wb = xl.Workbook()

ws = wb.worksheets[0]

cell1 = ws["A1"]
cell2 = ws["A2"]

cell1.value = "文字の書式を変更する"
cell2.value = "Applying Styles"

ft = Font(color="FF0000",name="Meiryo UI",size="14",italic="True",bold="True",underline="single")

cell1.font = ft
cell2.font = ft

wb.save("font.xlsx")
コードを実行して作成されたファイルを開いたものが↓の画像です。
フォントがMeiryo UI、サイズが14 pt、色が赤、ボールド・イタリック・アンダーラインがすべて適用されていることが確認できました。

変更後書式1


②セルの背景を色で塗りつぶす、罫線を引く

次にセルを特定の色で塗りつぶして、セルの囲むように罫線を引きます。
import openpyxl as xl
from openpyxl.styles import Border, Side, PatternFill, Font, GradientFill, Alignment

wb = xl.Workbook()

ws = wb.worksheets[0]

cell1 = ws["b2"]

cell1.value = "セルの書式を変更する"

cell1.fill = PatternFill("solid", fgColor="0000FFFF")
#その他の塗りつぶしパターン
# {'lightHorizontal', 'gray0625', 'solid', 'lightTrellis', 'gray125', 'lightVertical', 'lightDown', 'darkHorizontal', 'darkDown', 'lightGrid', 'darkGrid', 'darkVertical', 'lightUp', 'mediumGray', 'darkGray', 'darkUp', 'lightGray', 'darkTrellis'}

#セルの罫線の設定
thin = Side(border_style="medium", color="ff0000")
double = Side(border_style="double", color="ff0000")
#その他の罫線パターン
#{'dashed', 'medium', 'slantDashDot', 'dashDot', 'mediumDashDotDot', 'dashDotDot', 'double', 'dotted', 'thin', 'mediumDashDot', 'thick', 'hair', 'mediumDashed'}
cell1.border = Border(top=double, left=thin, right=thin, bottom=double)

wb.save("cell.xlsx")


これを実行すると↓のようになります。水色で塗りつぶして、赤の罫線が引けました。セル幅を合わせてないので右側の線が見えませんが左側と同じようになっています。

セルの塗りつぶしと罫線








今回はここで終わりにします。

引き続き、以下の書式設定の変更について勉強していきます。

よろしくお願いします。

↓TODO

③条件付き書式
④表示形式の変更

  • 標準
  • 数値 
  • 通貨
  • 会計
  • 日付
  • 時刻
  • パーセンテージ
  • 分数
  • 指数
  • 文字列
  • ユーザー定義

⑤配置

  • 横位置の指定
  • 縦位置の指定
  • 折り返して全体を表示する
  • 縮小して全体を表示する
  • セルを結合する
  • 文字の方向

⑥罫線

⑦保護

管理人

自分の写真
薬剤師・エンジニア 公認スポーツファーマシスト 医療情報技師

アクセスカウンター

70060

検索

最新記事

QooQ