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')