【已解决】python 使用xlrd,xlwt 修改execl单元格的背景色
【解决过程】
之前查百度,问同事,一直没找到满意的答案,后来找到了几篇不相干的文章,自己整理整理,理解理解,总算是理出了令自己比较满意的答案:
分两种情况:
一、 原execl 表格中的数据不改变,只改变需要改变的单元格的背景
import xlrd
from xlutils.copy import copy
import xlwt
# 第一步 把原表格中的数据拷贝一份
path = 'E:\\测试文件\\test.xls'
book = xlrd.open_workbook(path)
# book = xlrd.open_workbook(path, formatting_info=True)
# 设置 formatting_info=True ,当打开表格是保存表格原有的样式,进行保存时,
# 原来的样式不会丢失
sheet = book.sheets()[0]
wb = copy(book)
ws = wb.get_sheet(0)
# 第二步 设置样式
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
pattern.pattern_fore_colour = 5 # 5 背景颜色为黄色
#1 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow, 6 = Magenta, 7 = Cyan, 16 = Maroon,
# 17 = Dark Green, 18 = Dark Blue, 19 = Dark Yellow , almost brown), 20