摘要:
Openpyxl是一个常用的python库,用于对Excel的常用格式及其模板进行数据读写等操作。
简介与安装openpyxl库
Openpyxl is a Python library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.
安装
pip install openpyxl
pillow:在文件中需要使用images (jpeg, png, bmp,...)时,需要安装pillow库。
注意:写操作时请关闭需要操作的excel文件,否则写不成功
加载xlsx操作内容
加载外部excel的xlsx步骤:
加载xlsx文件,获得该文件的句柄,为workbook
from openpyxl import load_workbookwb2 = load_workbook('test.xlsx')print wb2.get_sheet_names()# ['Sheet2', 'New Title', 'Sheet1']
在内存中新建workbook
创建 workbook
开始使用openpyxl,没有必要在文件系统上创建一个文件。
只需要导入Workbook类并开始使用它。可以把wordbook想象成一个excel文件。
from openpyxl import Workbookwb = Workbook()workbook创建后至少至少要创建一个worksheet。使用 openpyxl.workbook.Workbook.active()ws = wb.active
该方法使用了_active_sheet_index属性, 默认会设置0
创建worksheet
使用 openpyxl.workbook.Workbook.create_sheet() 创建新的worksheet
ws1 = wb.create_sheet("new_sheet_1") # 新建sheet,插入到最后(默认)ws2 = wb.create_sheet("new_sheet_2", 0) # 插入到最开始的位置
指定worksheet的名称
不指定sheet名称时,按照sheet,sheet1,sheet2自动增长
ws3 = wb.create_sheet()
自定义worksheet名称,通过title属性指定名称,设置了sheet的名称
ws3.title = "new_sheet_3"
输出wb现在所有的sheetname查看
通过 openpyxl.workbook.Workbook.sheetnames()
输出wb现在所有的sheetname
print wb.get_sheet_names()print(wb.sheetnames)
循环
for sheet in wb:print(sheet.title)
指定worksheet tab按钮的颜色
新建的sheet tab颜色为白色,可以另外指定sheet tab按钮的颜色
ws3.sheet_properties.tabColor = "1072BA"
激活某个worksheet
通过worksheet名称激活某个sheet使用
名称看成workbook中的一个key
ws3 = wb["new_sheet_3"]
通过 _active_sheet_index 激活某个sheet使用
wb._active_sheet_index = 1 # 获取第二个sheet
创建worksheet副本
使用 openpyxl.workbook.Workbook.copy_worksheet() 创建worksheet副本
source = wb.activetarget = wb.copy_worksheet(source)
只能复制cell和style。不能复制工作表之间的工作簿。
操作单元格
当worksheet在内存中被创建时,是没有包含cells的,cells是在首次访问时创建
新闻热点
疑难解答