1 创建指定名称的空excel文件

#导入openpyxl库
import openpyxl
#设置分公司名称列表(myNames)
myNames=['北京分公司','上海分公司','深圳分公司','西安分公司',
         '沈阳分公司','重庆分公司','武汉分公司']
#循环列表(myNames)的分公司名称(myName)
for myName in myNames:
    #根据分公司名称(myName)设置Excel文件的名称
    myPath='结果表-'+myName+'2020年度利润表.xlsx'
    #新建空白工作簿(myBook)
    myBook=openpyxl.Workbook()
    #根据参数(myPath)保存空白工作簿(myBook),即创建(保存)多个空白的Excel文件
    myBook.save(myPath)

2 利用模板表格创建excel文件

#导入openpyxl库
import openpyxl as myOpenpyxl
#设置分公司名称列表(myNames)
myNames=['北京分公司','上海分公司','深圳分公司','西安分公司',
         '沈阳分公司','重庆分公司','武汉分公司']
#根据“利润表.xlsx”文件创建工作簿(myBook)
myBook = myOpenpyxl.load_workbook('利润表.xlsx')
i=0;myLength=len(myNames)
#在while循环中批量创建与“利润表.xlsx”内容完全相同的Excel文件
while i<myLength:
      #根据分公司名称设置各个Excel文件的名称
      myPath='结果表-'+myNames[i]+'2020年度利润表.xlsx'
      i+=1
      #保存工作簿(myBook)或者说将工作簿(myBook)另存为Excel文件
      myBook.save(myPath)

3 创建表格

import openpyxl
myBook=openpyxl.load_workbook('利润表.xlsx')
mySheet=myBook.active
mySheet.title='2020年'+mySheet.title
myBook.save('结果表-利润表.xlsx')

4 循环创建表格

import openpyxl
myBook=openpyxl.load_workbook('利润表.xlsx')
#循环工作簿(myBook.worksheets)的工作表(mySheet)
for mySheet in myBook.worksheets:
    #根据工作表(mySheet)的表名设置新的表名
    mySheet.title='2020年' + mySheet.title
myBook.save('结果表-利润表.xlsx')

5 根据表名(myName)在工作簿(myBook)中创建空白的工作表

import openpyxl
myBook=openpyxl.load_workbook('利润表.xlsx')
myNames=['1月份利润表','2月份利润表','3月份利润表','4月份利润表',
         '5月份利润表','6月份利润表','7月份利润表','8月份利润表',
         '9月份利润表','10月份利润表','11月份利润表','12月份利润表']
#循环列表(myNames)的表名(myName),如'1月份利润表'等
for myName in myNames:
    #根据表名(myName)在工作簿(myBook)中创建空白的工作表
    myBook.create_sheet(myName)
myBook.save('结果表-利润表.xlsx')

6 在工作簿(myBook)的指定位置(i*2+1)创建空白的工作表

import openpyxl
myBook=openpyxl.load_workbook('利润表.xlsx')
myNames=['2月份','4月份','6月份','8月份','10月份','12月份']
i=0;myLength=len(myBook.worksheets)
while i<myLength:
      #在工作簿(myBook)的指定位置(i*2+1)创建空白的工作表
      myBook.create_sheet(myNames[i],i*2+1)
      i+=1
myBook.save('结果表-利润表.xlsx')

7 根据条件设置工作表的表名标签背景为红色

import openpyxl
myBook=openpyxl.load_workbook('利润表.xlsx')
i=0;myLength=len(myBook.worksheets)
while i<myLength:
      #如果工作表的表名月份数为奇数,则设置工作表的表名标签背景为红色
      if i%2==0:
         myBook.worksheets[i].sheet_properties.tabColor='FF0000'
      i+=1
myBook.save('结果表-利润表.xlsx')

8 循环复制表格

import openpyxl
myBook=openpyxl.load_workbook('利润表.xlsx')
myNames=['1月份利润表','2月份利润表','3月份利润表','4月份利润表',
         '5月份利润表','6月份利润表','7月份利润表','8月份利润表',
         '9月份利润表','10月份利润表','11月份利润表','12月份利润表']
#循环列表(myNames)的表名(myName),如'1月份利润表'等
for myName in myNames:
    #在工作簿(myBook)中根据利润表(myBook.worksheets[0])复制工作表(mySheet)
    mySheet=myBook.copy_worksheet(myBook.worksheets[0])
    #重新设置复制工作表的表名
    mySheet.title=myName
myPath='结果表-利润表.xlsx'
myBook.save(myPath)

9 根据条件删除表格

import openpyxl
myBook=openpyxl.load_workbook('利润表.xlsx')
myNames=myBook.sheetnames
i=0;myLength=len(myNames)
while i<myLength:
      #如果工作表表名的月份数为奇数,则删除之
      if i%2==0:
          myBook.remove(myBook[myNames[i]])
      i+=1
myBook.save('结果表-利润表.xlsx')

10 根据表名删除表格

import openpyxl
myBook=openpyxl.load_workbook('利润表.xlsx')
#循环工作簿(myBook)的工作表(mySheet)
for mySheet in myBook.worksheets:
    #如果工作表(mySheet)的表名包含'华东',则删除工作表(mySheet)
    if mySheet.title.split('-')[0]=='华东':
       myBook.remove(mySheet)
myBook.save('结果表-利润表.xlsx')