所用文件、数据和上一节代码中用的一致

本次直接贴代码

 from openpyxl.styles import fills
from openpyxl import load_workbook
class DoExcel:
def __init__(self,filename):
'''
:param filename: excel文件名
'''
self.file = filename
self.wk = load_workbook(self.file) def do_excel(self,sheetname):
'''
:param sheetname: 工作簿名称
:return:
'''
sheet = self.wk[sheetname]
max_row = sheet.max_row #最大行
max_column = sheet.max_column #最大列
data = [] #定义一个空列表,用于存储所有数据
for r in range(2,max_row+1):
subdata = {} #定义一个字典,用于存储每行数据
for c in range(1,max_column+1):
key = sheet.cell(1,c).value #取第一行表头数据
subdata[key] = sheet.cell(r,c).value #字典格式,表头作为key
data.append(subdata)
return data
#将返回结果回写到excel文件单元格中
def write_back(self,sheet_name,row,col,value,color):
'''
:param sheet_name: 工作簿名称
:param row: 写入行
:param col: 写入列
:param value: 写入值
:param color: 背景颜色
:return:
'''
sheet = self.wk[sheet_name]
sheet.cell(row, col).value = value
sheet.cell(row, col).fill = fills.GradientFill(stop=(color, color))
self.wk.save(self.file) if __name__ == '__main__':
file_name = "test.xlsx"
datas = DoExcel(file_name).do_excel('students')
i = 2
for data in datas:
score = int(data.get('考试分数'))
if score >= 60:
t_pass = '及格'
color = 'FF0000'
else:
t_pass = '不及格'
color = ''
DoExcel(file_name).write_back('students',i,5,t_pass,color)
i = i+1

使用openpyxl的styles,实现写入值时加背景色的更多相关文章

  1. react className 有多个值时的处理 / react 样式使用 百分比(%) 报错

    1.react className 有多个值时的处理 <fieldset className={`${styles.formFieldset} ${styles.formItem}`}> ...

  2. WPF学习笔记——在“System.Windows.StaticResourceExtension”上提供值时引发了异常

    在"System.Windows.StaticResourceExtension"上提供值时引发了异常 因应需要,写了一个转换器,然后窗体上引用,结果就出来这个错.编译的时候没事, ...

  3. 深入理解 EF Core:EF Core 写入数据时发生了什么?

    阅读本文大概需要 14 分钟. 原文:https://bit.ly/2C67m1C 作者:Jon P Smith 翻译:王亮 声明:我翻译技术文章不是逐句翻译的,而是根据我自己的理解来表述的.其中可能 ...

  4. JsonResult作为Action返回值时的错误

    JsonResult作为Action返回值时的错误   System.InvalidOperationException: This request has been blocked because ...

  5. C#使用读写锁三行代码简单解决多线程并发写入文件时线程同步的问题

    (补充:初始化FileStream时使用包含文件共享属性(System.IO.FileShare)的构造函数比使用自定义线程锁更为安全和高效,更多内容可点击参阅) 在开发程序的过程中,难免少不了写入错 ...

  6. WPF关于“在“System.Windows.Markup.StaticResourceHolder”上提供值时引发了异常。”问题解决办法

    在WPF中添加样式,在MainWindow.xaml使用自定义按钮FButton时报错,报错信息如下: "System.Windows.Markup.XamlParseException&q ...

  7. Java学习笔记14---this作为返回值时返回的是什么

    有时会遇到this作为返回值的情况,那么此时返回的到底是什么呢? 返回的是调用this所处方法的那个对象的引用,读起来有点绕口哈,有没有想起小学语文分析句子成份的试题,哈哈. 一点点分析的话,主干是& ...

  8. Mybatis映射文件中#取值时指定参数相关规则

    Mybatis映射文件中#取值时指定参数相关规则 在#{}中,除了需要的数值外,还可以规定参数的一些其他规则. 例如:javaType,jdbcType,mode(存储过程),numericScale ...

  9. python3写入文件时编码问题报错

    在字符串写入文件时,有时会因编码问题导致无法写入,可在open方法中指定encoding参数 chfile = open(filename, 'w', encoding='utf-8') 这样可解决大 ...

随机推荐

  1. OpenStack平台上,windows云主机可以ping通百度但是无法打开网页,部分其它网页可以打开

    问题描述: 在OpenStack平台上的64位Windows7虚拟机,可以ping通百度,但是却无法打开百度网页. 于是,笔者又对其它网址进行的测试,发现淘宝.京东.携程部分网页可以打开,而新浪等等网 ...

  2. iOS项目之报错笔记

    问题一: linker command failed with exit code 1 (use -vto see invocation) 原因:导入了.m的头文件,导致同时有两个一样的.m文件在编译 ...

  3. 离开(切换)当前页面时改变页面title

    document.addEventListener('visibilitychange', function () { if (document.visibilityState == 'hidden' ...

  4. Kattis之旅——Factovisors

    The factorial function, n! is defined thus for n a non-negative integer: 0! = 1 n! = n * (n-1)! (n & ...

  5. django自定义错误响应

    在做一个web时,总是会出现各种错误,如400.403.404.500等.一般开发都要做对应的处理,给一些友好提示,或返回一些公益广告等. 在Django中,默认提供了常见的错误处理方式,比如: ha ...

  6. Docker学习记录--入门了解+安装

    Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制, ...

  7. Codeforces 789D Weird journey - 欧拉路 - 图论

    Little boy Igor wants to become a traveller. At first, he decided to visit all the cities of his mot ...

  8. hdu 4366 Successor - CDQ分治 - 线段树 - 树分块

    Sean owns a company and he is the BOSS.The other Staff has one Superior.every staff has a loyalty an ...

  9. Selenium 15: How to Run Parallel Tests Using Selenium Grid and JUnit

    In this post, I will give two techniques and describe how to run your selenium tests in parallel by ...

  10. 《编写高质量代码:Web 前端开发修炼之道》 笔记与读后感

    编写高质量代码:Web 前端开发修炼之道/曹刘阳著. —北京:机械工业出版社,2010.5 第一版 涉及到的知识点: 1. CSS Sprites 在国内很多人叫css精灵,是一种网页图片应用处理方式 ...