なんだかGoodVibes

日々の勉強メモです。

【Python】エクセルのスタイルを設定する(openpyxlモジュール)

こんにちは。
本日はPythonメモです。

概要

本日はopenpyxlモジュールを使用した
スタイルの設定です。


サンプルコード

セルのフォント調整

使用するのはopenpyxlモジュールです。
今回は、openpyxlモジュールのFont関数を使ってスタイルを設定します。

import openpyxl
from openpyxl.styles import Font

wb = openpyxl.Workbook()
sh = wb['Sheet']
f = Font(name='メイリオ',
         size=30,
         bold=True,
         italic=True,
         underline='single',
         color='FF0000')

sh['A1'].font = f
sh['A1'] = 'Hello!!'
wb.save('work/sample.xlsx')

Font関数の引数に設定するスタイルの内容を指定します。

サンプルでは、

  • フォント
  • サイズ
  • 太字
  • 斜体時
  • 下線
  • フォントの色

を指定しています。

Font関数の内容を調べると他にも設定ができるようなので
使用に応じて引数を指定できます。


行・列の高さ/幅の設定

行の高さを設定する場合は、row_dimensions
列の幅を設定する場合は、column_dimensions
を使用します。

import openpyxl

wb = openpyxl.Workbook()
sh = wb['Sheet']

sh.row_dimensions[1].height = 80
sh.column_dimensions['B'].width = 30

wb.save('work/sample.xlsx')

サンプルでは、行の高さを80
列の幅を30に設定しています。


セルの結合

セルを結合するには、merge_cells
セルの結合を解除するには、unmerge_cells
を使用します。

import openpyxl

wb = openpyxl.Workbook()
sh = wb['Sheet']

sh.merge_cells('A1:C2')
sh.unmerge_cells('A1:C2')

wb.save('work/sample.xlsx')


ウィンドウ枠の固定

ウィンドウ枠を固定するには、freeze_panes
を使用します。

import openpyxl

wb = openpyxl.Workbook()
sh = wb['Sheet']

sh.freeze_panes = 'C2'

wb.save('work/sample.xlsx')

freeze_panesに設定した値と
実際の固定される範囲は以下のようになります。

指定値 固定される行/列
A3 行2
B1 列A
C2 行1、列A・B



以上です。