※このページではアフィリエイト広告を利用しています

【Python応用】OpenPyXLを用いたセル操作一覧-まとめ-

Python

ここでは、「OpenPyXL」におけるExcelのセル操作全般について初学者向けに解説しています。

この記事の対象

  • OpenPyXLを用いたセルへの書き込み方法を知りたい方
  • OpenPyXLを用いたセルへの条件付き書式設定方法を知りたい方
  • OpenPyXLを用いたセルの幅、高さ調整方法を知りたい方

「OpenPyXL」のインストール方法についてはこちらをご参照下さい。

>>>OpenPyXLでとりあえず抑えておきたい操作-概要-

スポンサーリンク
スポンサーリンク

任意のセルに文字挿入

from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws.title = "Title"
ws['A1'] = 1
wb.save('test.xlsx')

上記のプログラムはTitleというシートのA1セルに1という数値を入力してtest.xlsxというファイル名で保存しているものです。

セルの操作を行う際はactiveなWorkbookを取得して「ws[‘***’]」とするだけです。

【結果】

cell()モジュールを用いた文字挿入

from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws.title = "Title"
ws.cell(1,1).value = 1
wb.save('test.xlsx')

cell()モジュールを使用して文字挿入もできます。「***.cell.value(row=***, column=***)」とすることで挿入場所を指定します。注意点として、セルの位置指定は1からです。

結果は上記と同じなので省略します。

行列の幅指定

from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws.row_dimensions[1].height =60

ws.column_dimensions['A'].width =80 
wb.save('test.xlsx')

行の幅指定は「***.row_dimensions[***].height」を用います。列の幅指定は「***.column_dimensions[‘***’].width」を用います。

【結果】

任意のセルのフォント指定

from openpyxl import Workbook
from openpyxl.styles import Font

wb = Workbook()
ws = wb.active
fontstyle1 = Font(name='Arial')
fontstyle2 = Font(name='Arial',bold=True)
fontstyle3 = Font(color='C5D9F1')
fontstyle4 = Font(i=True)
fontstyle5 = Font(size=30)
fontstyle6 = Font(shadow=True)
fontstyle7 = Font(strike=True)
fontstyle8 = Font(underline='single')
for i in range(8):
 ws.cell(i+1,1).value= 1

ws.cell(1,1).font = fontstyle1
ws.cell(2,1).font = fontstyle2
ws.cell(3,1).font = fontstyle3
ws.cell(4,1).font = fontstyle4
ws.cell(5,1).font = fontstyle5
ws.cell(6,1).font = fontstyle6
ws.cell(7,1).font = fontstyle7
ws.cell(8,1).font = fontstyle8
wb.save('test.xlsx')

フォントの大きさや色、打ち消し線などは「Font」を用いることで指定できます。それぞれのオプションの意味は以下になります。ご参照下さい。

項目内容
bold太文字。Trueで有効
color色設定。colorコードで指定
italicイタリック体設定。Trueで有効
nameフォントの書式設定。フォント名で指定
sizeサイズの設定。小数点での指定が可能
shadow影の設定。Trueで有効
strike打ち消し線の設定。Trueで有効
underline下線設定。「single」「double」「singleAccounting」「doubleAccounting」が選択可能

【結果】

表示形式を年月にする方法

from openpyxl import Workbook

wb = Workbook()
ws = wb.active
ws.cell(1,1).value= 14673
ws.cell(2,1).value= 14673
ws.cell(2,1).number_format = 'yyyy/m/d'
wb.save('test.xlsx')

表示形式を年月にする場合は「***.number_format」を使用することで指定可能です。

【結果】

任意のセルの塗りつぶし

from openpyxl import Workbook
from openpyxl.styles import PatternFill

wb = Workbook()
ws = wb.active
ws.title = "Title"

set_fill = PatternFill(patternType='solid', fgColor='C5D9F1')
ws['A1'] = 1
ws['A1'].fill = set_fill
wb.save('test.xlsx')

セルを塗りつぶすには「PatternFill」を用いる必要があります。

「PatternFill」の引数としてはfgColorを指定して、反映させたいセルのfillに代入するだけです。

【結果】

タイトルとURLをコピーしました