Python操作高版本Excel文件:颜色、边框、合并单元格

本文主要颜色Python扩展库openpyxl的一些基本用法,包括创建工作簿、选择活动工作表、写入单元格数据,设置单元格字体颜色、边框样式,合并单元格等等。

from random import randint, choice

from openpyxl import Workbook

from openpyxl.styles import Font, colors, Border, Side

from openpyxl.drawing.image import Image

#创建工作簿

wb = Workbook()

#获取活动工作表

ws = wb.active

#修改工作表标题

ws.title = '测试'

#字段标题

ws.append([' ', '语文', '数学', '英语', '总分'])

#姓名信息

names = '一二三四五六七八九'

lastNames = '赵钱孙李周吴郑王'

for i, c in enumerate(names):

    cell = 'A'+str(i+2)

    ws[cell] = choice(lastNames) + c

    

#随机成绩数据

for row in range(2, len(names)+2):

    #随机生成没人每门课的成绩    

    row = str(row)

    for col in 'BCD':

        ws[col+row] = randint(30, 100)

    #使用公式计算每个人的总分

    ws['E'+row] = '=sum(B' + row + ':D' + row + ')'

#插入图片

ws.add_image(Image('yingtaoxiaowanzi.png'), 'F1')

#合并单元格

lastRow = str(len(names)+2)

ws.merge_cells('B'+lastRow+':I'+lastRow)

ws['A'+lastRow] = '说明:'

ws['B'+lastRow] = '这只是个测试。'

#通用边框信息

left, right, top, bottom = [Side(style='medium',color='000000')]*4

border = Border(left=left, right=right, top=top, bottom=bottom)

#设置单元格边框和颜色

#表头和最后一行的说明使用默认的黑色

for row in range(2, len(names)+2):

    #奇偶行字体颜色交替

    if row%2 == 0:

        color = colors.RED

    else:

        color = '00CCFF'

    #设置边框和颜色

    for col in 'ABCDE':

        ws[col+str(row)].border = border

        ws[col+str(row)].font = Font(color=color)

#保存文件

wb.save('测试.xlsx')

代码运行生成的Excel文件如图所示:

温馨提示:单击文章顶部作者名字旁边浅蓝色的“Python小屋”进入公众号,关注后可以查看更多内容!

欢迎转发给您的朋友,或许这正是Ta需要的知识!



欢迎投稿 职场/创业方向. 邮箱wangfzcom(AT)163.com:王夫子社区 » Python操作高版本Excel文件:颜色、边框、合并单元格

点评 0

评论前必须登录!

登陆 注册