天给大家分享一篇用 openpyxl 操作 Excel 的 Python 办公自动化文章。5分钟就能掌握~

新建一个Excel文件
fromimport
打开现有Excel文件
fromimport
'test.xlsx'
打开大文件时,根据需求使用只读或只写模式减少内存消耗。
'large_file.xlsx'True
True
获取当前活动工作表:
ws = wb.active
创建新的工作表:
"Mysheet"# insert at the end (default)
# or
"Mysheet"0# insert at first position
# or
"Mysheet"-1# insert at the penultimate position
使用工作表名字获取工作表:
"New Title"
获取所有的工作表名称:
>>>
'Sheet2''New Title''Sheet1'
# 使用for循环遍历所有的工作表:
>>> forin
...
保存到流中在网络中使用:
fromimport
fromimport
withas
0
# 保存到文件:
'balances.xlsx'
# 保存为模板:
'document.xlsx'
True
'document_template.xltx'
单元格位置作为工作表的键直接读取:
'A4'
为单元格赋值:
'A4'4
'hello, world'
多个单元格 可以使用切片访问单元格区域:
'A1''C2'
使用数值格式:
# set date using a Python datetime
>>> 'A1'2010721
>>> 'A1'
'yyyy-mm-dd h:mm:ss'
使用公式:
# add a simple formula
"A1""=SUM(1, 1)"
合并单元格时,除左上角单元格外,所有单元格都将从工作表中删除:
'A2:D2'
'A2:D2'
# or equivalently
2144
2144
可以单独指定行、列、或者行列的范围:
'C'
'C:D'
10
510
Worksheet.iter_rows()
>>> forin132
... forin
...
Worksheet.iter_cols()
>>> forin132
... forin
...
Worksheet.rows
>>>
>>> 'C9''hello world'
>>>
Worksheet.columns
>>>
Worksheet.append()Worksheet.cell()
>>> forin140
... 600
>>> forin1020
... forin2754
... "{0}"
Worksheet.insert_rows()
>>> fromimport
>>> 7
>>> 7
>>> forin2754
... 7"{0}"
Worksheet.insert_cols()Worksheet.delete_rows()Worksheet.delete_cols()
Worksheet.values
forin
forin
Worksheet.iter_rows()Worksheet.iter_cols()values_only
>>> forin132True
...
NoneNoneNone
NoneNoneNone