1.一般的な流れ
“openpyxl”モジュールをインポート:import openpyxl
Workbookを開く:openpyxl.load_workbook(“ファイル名”)
シートオブジェクトを生成:sheet_obj = workbook.get_sheet_by_name(“シート名”)
2.セルの値の読み書き(cell(row=行番号, column=列番号).value)
〔 値の取り込み 〕
変数 = sheet_obj.cell(row=行番号, column=列番号).value
〔 値の書き込み 〕
sheet_obj.cell(row=行番号, column=列番号).value = 値
3.行/列 単位の扱い( iter_rows() / iter_cols() )
(iteration processにより)1行ごと(1列ごと)に、リストを生成する。
〔 使い方の例 〕
for row in sheet_obj.iter_rows():
for col in range(len(row)):
print(row[col])
4.フォントの指定
〔 流れ 〕
① Font関数をopenpyxlモジュールのstyleからインポート
from openpyxl.styles import Font
② フォントの指定
font = Font(name=’フォント名’, size=ポイント数, ・・・)
③ 指定したフォントをセルに指定
sheet_obj.cell(row=line,column=col+1).font = font
パラメータ | 説明 |
---|---|
name | フォント名/例:’游ゴシック’, ‘Arial’ |
size | ポイント数/例:「size=10」等整数値で指定 |
color | 色を16進6桁の文字列で指定 例:’FF0000’(赤), ’00FF00’(緑), ‘0000FF’(青) |
underline | 下線を文字列で指定/例:’single’ |
bold | 太字/例:True, False |
italic | 斜字/例:True, False |
5.位置揃え
〔 流れ 〕
① Alignment関数をopenpyxlモジュールのstyleからインポート
from openpyxl.styles import Alignment
② セルごとにAlignmentを指定
sheet_obj.cell(row=line,column=col+1).alignment
= Alignment(horizontal=’left’,
vertical=’top’,
wrapText=None)
〔 Alignment関数の引数とパラメータ 〕
引数 | パラメータ | 説明 |
---|---|---|
horizontal | ‘left’ ‘center’ ‘right’ | 左揃え 中央揃え 右揃え |
vertical | ‘top’ ‘center’ ‘bottom’ | 上揃え 中央揃え 下揃え |
textWrap | True None | セル内折り返しあり 指定せず |
6.セルの表示形式
〔 流れ 〕
① numbersをopenpyxlモジュールのstyleからインポート
from openpyxl.styles import numbers
② セルのフォーマットを指定
sheet_obj.cell(row=line,column=col+1).number_format = 表示形式
表示形式 | 説明 |
---|---|
‘0.000’ | 小数点以下3桁 |
#,##0′ | 3桁ごとにカンマ区切り&小数点以下は非表示 |
‘yyyy/mm/dd’ | 短い日付(西暦4桁/月/日) |
7.セルの幅と高さ
〔 セル幅の指定 〕
sheet_obj.column_dimensions[’A’].width= セル幅
〔 セル高の指定 〕
sheet_obj.row_dimensions[1].height = セル高さ