创建workbook及相关操作
通过openpyxl模块创建workbook时,无需本地事先创建好excel,它会直接创建一个新的excel文件
创建workbook时,会至少包含一个worksheet
注意:openpyxl模块只支持.xlsx,.xlsm,.xltx,.xltm格式
使用示例:
导入openpyxl模块的Workbook类
from openpyxl import Workbook
创建workbook,并获取workbook中第一个sheet
wb = Workbook() #创建一个workbook ws = wb.active #获取当前workbook的第一个worksheet,默认的索引值是0,它是可以改变的
创建worksheet
ws1 = wb.create_sheet() #在当前workbook的结尾处追加一个新的worksheet,名称是自动赋值的,如Sheet1,Sheet2,.... ws2 = wb.create_sheet(0) #在当前workbook的指定索引处追加一个新的worksheet,名称是自动赋值的,如Sheet1,Sheet2,.... ws1.title = "New Title1" #指定sheet名称为New Title1 ws2.title = "New Title2" #指定sheet名称为New Title2 ws3 = wb.create_sheet("MyNewSheet1") #在当前workbook的结尾追加一个新的worksheet,并指定sheet名称为MyNewSheet1 ws4 = wb.create_sheet("MyNewSheet2", 0) #在当前workbook的指定索引处追加一个新的worksheet,并指定sheet名称为MyNewSheet2
通过worksheet名称获取worksheet
ws5 = wb["MyNewSheet2"] print(wb.sheetnames) #以列表形式输出该workbook中所有的worksheet for sheet in wb: print(sheet.title) #循环输出workbook的各个worksheet的名称
设定worksheet的颜色
ws.sheet_properties.tabColor = "1072BA" #设定worksheet的颜色,设定值为RRGGBB颜色代码
拷贝当前worksheet
source = wb.active
target = wb.copy_worksheet(source)
注意:
1) 不支持将一个worksheet从一个workbook拷贝至另一个workbook
2) 如果当前workbook是read-only或者write-only模式,则也不支持worksheet的拷贝
3) 拷贝worksheet时,不是所有的worksheet的内容都会被拷贝,具体可拷贝内容如下:
a) 单元格,包括里面的值,样式,链接和注释式可以被拷贝
b) 某些worksheet的属性,如维度,格式及属性可以被拷贝
c) 以上其他的workbook和worksheet属性不会被拷贝,如图片,图形等
将当前设置保存到本地文件
wb.save("sample.xlsx") #以上处理都是在内存中的,save表示将最终的结果导出到本地文件上