python

当前位置:首页 > openpyxl教程 > 当前文章

openpyxl教程

openpyxl复制sheet,创建sheet名有重复处理

2020-04-04 66赞 python中国网
每篇文章努力于解决一个问题!python高级、python面试全套、操作系统经典课等可移步文章底部。

  本节课讲解openpyxl如何复制sheet、以及创建同名sheet的处理。

  1、openpyxl复制一个sheet怎么操作呢?看官网说明

  You can create copies of worksheets within a single workbook:

  Workbook.copy_worksheet()method:

	  source = wb.active
          target = wb.copy_worksheet(source)

  复制sheet很简单,就是一个copy_worksheet方法,代码如下:(注意看复制后的sheet名)

# -*- coding: utf-8 -*-
from openpyxl import Workbook

wb = Workbook() # 默认生成一个名为Sheet的sheet
ws = wb.active
target = wb.copy_worksheet(ws)

print(wb.sheetnames)
D:python3installpython.exe D:/pyscript/py3script/python66/test2/test.py
['Sheet', 'Sheet Copy']

Process finished with exit code 0


  2、此外,excel是不允许有同名sheet的,如果在创建sheet的时候不小心创建了同名的sheet会怎么办呢?openpyxl内部会自行处理,注意下看如下代码。

# -*- coding: utf-8 -*-
from openpyxl import Workbook

wb = Workbook() # 默认生成一个名为Sheet的sheet


# 创建sheet
for name in ['a','a']:
    ws = wb.create_sheet(name)

print(wb.sheetnames)

wb.save('test.xlsx')
D:python3installpython.exe D:/pyscript/py3script/python66/test2/test.py
['Sheet', 'a', 'a1']

Process finished with exit code 0


文章评论

openpyxl复制sheet,创建sheet名有重复处理文章写得不错,值得赞赏