点击此处浏览总目录

创建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表示将最终的结果导出到本地文件上

 

posted @ 2019-09-17 18:16  立业的博客  阅读(6122)  评论(0编辑  收藏  举报