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小屋(Python_xiaowu)

原文发表时间:2016-09-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏24K纯开源

用Qt写软件系列五:一个安全防护软件的制作(1)

引言       又有许久没有更新了。Qt,我心爱的Qt,为了找工作不得不抛弃一段时间,业余时间来学一学了。本来计划要写一系列关于Qt组件美化的博文,但是写了几...

2257
来自专栏向治洪

深入理解Android渲染机制

基础知识 CPU: 中央处理器,它集成了运算,缓冲,控制等单元,包括绘图功能.CPU将对象处理为多维图形,纹理(Bitmaps、Drawables等都是一起打包...

2296
来自专栏Android机动车

Android 约束布局ConstraintLayout1.1.0 版详解

在http://dyg8.com/20180205/Android-ConstraintLayout-Detailed/这篇文章中,我们对 Constraint...

1114
来自专栏向治洪

深入理解Android渲染机制

基础知识 CPU: 中央处理器,它集成了运算,缓冲,控制等单元,包括绘图功能.CPU将对象处理为多维图形,纹理(Bitmaps、Drawables等都是一起打包...

3946
来自专栏程序员互动联盟

【专业技术】Win32创建异形窗口

大家都见过在windows下各种气泡窗口、输入法窗口已经其他一些窗口,这些窗口看起来不像传统的windows窗那样,上面是标题栏,下面是窗口的客户区。这...

74111
来自专栏BestSDK

shift键在Excel中,还有这10种变态玩法?

电脑键盘上有很多「瑞士军刀」似的按键,掌握这些按键的使用技巧,你让你在Excel操作中,如虎添翼。 SHIFT键就是其中之一。 Excel中的技巧有很多,基本都...

4037
来自专栏python爬虫实战之路

极验验证码破解之selenium

这一篇写完很久了,因为识别率一直很低,没办法拿出来见大家,所以一直隐藏着,今天终于可以拿出来见见阳光了。

1874
来自专栏数据小魔方

数据地图系列10|excel(VBA)数据地图透明度填充法

今天要跟大家分享数据地图系列的第10篇——excel(VBA)数据地图透明度填充法。 这种方法的制作步骤难度与前一篇相比都较低,但是涉及到的VBA代码却要比前一...

6785
来自专栏.Net移动开发

.Net语言 APP开发平台——Smobiler学习日志:开发APP时,如何快速地实现屏幕自适应

当AutoHeight属性为“True”时,Mobile Form的Scrollable属性将失去效果,以GridView控件的下面两种情况为例(以下两种情况的...

942
来自专栏前端知识分享

第148天:js+rem动态计算font-size的大小,适配各种手机设备

布局排版都用rem做单位,然后不同宽度的屏,js动态计算根节点的font-size。

2323

扫码关注云+社区