Pythonの強力なライブラリ「xlwings」を使えば、Excelのセル操作はもちろん、フォントを自由自在にコントロールできます。日常的なデータ処理やレポート作成の自動化において、フォントを整えることは非常に重要です。
そこで、この記事では、xlwings を使ってExcelフォントを操作する具体的な方法を、実践的なコード例とともに解説します。


ゆーや
画像の箇所の操作の自動化を紹介していくよ!
xlwingsのセットアップ

ゆーや
xlwingsのインストールや基本操作は以下の記事から見てみてください!
フォントの操作
フォントのサイズを変更する
import xlwings as xw
# Excelを起動
app = xw.App(visible=False)
# ワークブックを作成
wb = app.books.add()
# シートの取得
sheet = wb.sheets[0]
# A1セルにテキストを入力
sheet.range('A1').value = 'Hello, xlwings!'
# フォントサイズを36に設定
sheet.range('A1').font.size = 36
# 保存
wb.save("sample.xlsx")
# クローズ
wb.close()
app.quit()


ゆーや
直感的にわかりやすいコードで助かるね!
フォントを太字にする
import xlwings as xw
# Excelを起動
app = xw.App(visible=False)
# ワークブックを作成
wb = app.books.add()
# シートの取得
sheet = wb.sheets[0]
# A1セルにテキストを入力
sheet.range('A1').value = 'Hello, xlwings!'
# フォントを太字に設定
sheet.range('A1').font.bold = True
# 保存
wb.save("sample.xlsx")
# クローズ
wb.close()
app.quit()


ゆーや
太字の状態をTrue/Falseで管理しているみたい!
フォントを斜体にする
import xlwings as xw
# Excelを起動
app = xw.App(visible=False)
# ワークブックを作成
wb = app.books.add()
# シートの取得
sheet = wb.sheets[0]
# A1セルにテキストを入力
sheet.range('A1').value = 'Hello, xlwings!'
# フォントを斜体に設定
sheet.range('A1').font.italic = True
# 保存
wb.save("sample.xlsx")
# クローズ
wb.close()
app.quit()


ゆーや
斜体も太字と同じだね!
フォントの色を設定する
import xlwings as xw
# Excelを起動
app = xw.App(visible=False)
# ワークブックを作成
wb = app.books.add()
# シートの取得
sheet = wb.sheets[0]
# A1セルにテキストを入力
sheet.range('A1').value = 'Hello, xlwings!'
# フォントの色を変更
sheet.range('A1').font.color = 0xFF0000
# 保存
wb.save("sample.xlsx")
# クローズ
wb.close()
app.quit()


ゆーや
fontプロパティを使えばいろんな設定がいじれるね!
セルの操作
セルの背景色を変更する
import xlwings as xw
# Excelを起動
app = xw.App(visible=False)
# ワークブックを作成
wb = app.books.add()
# シートの取得
sheet = wb.sheets[0]
# A1セルにテキストを入力
sheet.range('A1').value = 'Hello, xlwings!'
# セルの色を変更
sheet.range('A1').color = 0x00FF00
# 保存
wb.save("sample.xlsx")
# クローズ
wb.close()
app.quit()


ゆーや
セルのcolorプロパティにカラーコードをセットしよう!
セルの罫線を引く

ゆーや
次の記事で詳しく解説しているのでよかった見てください!
VBAを経由して設定するもの

ゆーや
ここからはVBAを直接操作するapiプロパティを使っていくよ!
フォントを設定する
import xlwings as xw
# Excelを起動
app = xw.App(visible=False)
# ワークブックを作成
wb = app.books.add()
# シートの取得
sheet = wb.sheets[0]
# A1セルにテキストを入力
sheet.range('A1').value = 'Hello, xlwings!'
# フォントを変更
sheet.range('A1').api.Font.Name = "HGP創英角ポップ体"
# 保存
wb.save("sample.xlsx")
# クローズ
wb.close()
app.quit()

フォントに下線を引く
import xlwings as xw
# Excelを起動
app = xw.App(visible=False)
# ワークブックを作成
wb = app.books.add()
# シートの取得
sheet = wb.sheets[0]
# A1セルにテキストを入力
sheet.range('A1').value = 'Hello, xlwings!'
# A1セルの文字に下線を引く
sheet.range('A1').api.Font.Underline = True
# 保存
wb.save("sample.xlsx")
# クローズ
wb.close()
app.quit()

フリガナを設定する
import xlwings as xw
# Excelを起動
app = xw.App(visible=False)
# ワークブックを作成
wb = app.books.add()
# シートの取得
sheet = wb.sheets[0]
# A1セルにテキストを入力
sheet.range('A1').value = 'Hello, xlwings!'
# フリガナを設定
sheet.range('A1').api.Phonetic.Text = "やまだたろう"
# フリガナを表示
sheet.range('A1').api.Phonetic.Visible = True
# 保存
wb.save("sample.xlsx")
# クローズ
wb.close()
app.quit()

まとめ
この記事では、xlwings を使ってExcelセルの書式を操作する方法について説明しました。
xlwings を使えば、Excelをプログラム的に操作するだけでなく、見た目の整った表やレポートもPythonから自動生成することができます。これにより、業務の効率化がさらに進みます。
コメント