您当前的位置:首页 > 计算机 > 编程开发 > Python

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

时间:09-07来源:作者:点击数:

本文主要颜色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文件如图所示:

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门