Skip to content

openpyxlでxlsを作る

ipynbFile excel_sample__openpyxlでxlsを作る.ipynb

In [1]:

1
import openpyxl

In [23]:

1
2
# 新しいWorkBookを作る
wb = openpyxl.Workbook()

In [24]:

1
2
3
4
5
6
# シート名
print(wb.sheetnames)
# シートを取得
sheet = wb.worksheets[0]
# あるいは
# wb['Sheet']

Success

1
['Sheet']

In [25]:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
for num,val in enumerate(['Name','Value']):
    sheet.cell(1,num+1).value = val


setValues = [('ほげほげ',10),
             ('ふがふが',20)]

for num,value in enumerate(setValues):
    sheet.cell(num+2,1).value = value[0]
    sheet.cell(num+2,2).value = value[1]

# フィルタを作る
sheet.auto_filter.ref = "A1:B1"

Success

1
2
('ほげほげ', 10)
('ふがふが', 20)

In [30]:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# シート内の値があるセルの情報をすべて読み取る
for row in sheet.rows:
    for column in row:
        print(column.value)

# 範囲指定する
# 1行目は名前なので無視したいような場合
for row in sheet.iter_rows(min_row=2):
    # 2行目から
    for column in row:
        print(column.value)

Success

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
Name
Value
ほげほげ
10
ふがふが
20
ほげほげ
10
ふがふが
20

In [31]:

1
2
# 関数を入れる
sheet['B4'].value = "=SUM(B2:B3)"

In [32]:

1
2
# 保存
wb.save("sample.xls")