前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python操作高版本Excel文件:颜色、边框、合并单元格

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

作者头像
Python小屋屋主
发布2018-04-16 14:34:45
4.1K0
发布2018-04-16 14:34:45
举报
文章被收录于专栏:Python小屋Python小屋

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-09-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档