python操作xlsx文件的包openpyxl实例
Python扩展库openpyxl,可以操作07版以上的xlsx文件。可以创建工作簿、选择活动工作表、写入单元格数据,设置单元格字体颜色、边框样式,合并单元格,设置单元格背景等等。
需要增加可以颜色进入包安装目录的
your_pthon_path/site-packages/openpyxl/styles
修改colors.py文件下的
COLOR_INDEX=( '00000000','00FFFFFF','00FF0000','0000FF00','000000FF',#0-4 '00FFFF00','00FF00FF','0000FFFF','00000000','00FFFFFF',#5-9 '00FF0000','0000FF00','000000FF','00FFFF00','00FF00FF',#10-14 '0000FFFF','00800000','00008000','00000080','00808000',#15-19 '00800080','00008080','00C0C0C0','00808080','009999FF',#20-24 '00993366','00FFFFCC','00CCFFFF','00660066','00FF8080',#25-29 '000066CC','00CCCCFF','00000080','00FF00FF','00FFFF00',#30-34 '0000FFFF','00800080','00800000','00008080','000000FF',#35-39 '0000CCFF','00CCFFFF','00CCFFCC','00FFFF99','0099CCFF',#40-44 '00FF99CC','00CC99FF','00FFCC99','003366FF','0033CCCC',#45-49 '0099CC00','00FFCC00','00FF9900','00FF6600','00666699',#50-54 '00969696','00003366','00339966','00003300','00333300',#55-59 '00993300','00993366','00333399','00333333','SystemForeground','SystemBackground'#60-64 '00D2B48C','0087CEFA','0000BFFF'#自己添加的 )
以00+16进制RGB颜色代码的形式即可
自己写的一个生成xlsx文件的代码:
#!/usr/bin/envpython
#-*-coding:utf-8-*-
importopenpyxl
fromopenpyxlimportWorkbook
fromopenpyxl.stylesimportcolors,Font,Border,Side,PatternFill,Alignment
wb=Workbook()#创建工作簿
ws=wb.active#激活工作簿
ws.merge_cells('C3:E3')#合并单元格
ws.merge_cells('C4:E4')
ws.merge_cells('C20:I20')
ws.merge_cells('C21:I21')
left,right,top,bottom=[Side(style='thin',color='000000')]*4#设置单元格边框属性
border=Border(left=left,right=right,top=top,bottom=bottom)#设置单元格边框格式
fill1=PatternFill(start_color='FFFF00',end_color='FFFF00',fill_type='solid')#设置单元格背景色
fill2=PatternFill(start_color='D2B48C',end_color='D2B48C',fill_type='solid')
fill3=PatternFill(start_color='00BFFF',end_color='00BFFF',fill_type='solid')
fill4=PatternFill(start_color='FF0000',end_color='FF0000',fill_type='solid')
align1=Alignment(horizontal='center',vertical='center')#设置文本对齐
align2=Alignment(horizontal='left',vertical='center')
foriinrange(3,22):
forcolin'CDEFGHIJK':
ws[col+str(i)].border=border#给每个单元格设置相应的格式
#ws[col+str(3)].fill=fill1
#ws[col+str(i)].alignment=align
forcolin'CDEFGHIJK':
ws[col+str(3)].fill=fill1
ws[col+str(20)].fill=fill3
ws[col+str(21)].fill=fill4
foriinrange(4,20):
ws[col+str(i)].fill=fill2
forcolin'CDEFGHIJK':
ws[col+str(3)].alignment=align1
foriinrange(4,22):
forcolin'CDE':
ws[col+str(i)].alignment=align2
forcolin'CDEFGHIJK':
ws[col+str(3)]='test1'#单元格赋值
foriinrange(3,22):
forcolin'CDE':
ifiinrange(5,20)andcol=='C':
pass
else:
ws[col+str(i)]='test2'
foriinrange(4,20):
forcolin'EFGHIJK':
ws[col+str(i)]=50
foriinrange(20,22):
forcolin'JK':
ws[col+str(i)]=100
wb.save('test.xlsx')#保存文件
单元格字体等也可以使用相应的模块去设置。
以上这篇python操作xlsx文件的包openpyxl实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。