最近有个需求:需要生成一个excel,并在此基础上,每日在excel中追加数据,并要求每日数据变化情况用背景色标注,肉眼直观可看。
接到这个需求,最初想的是,用折线图来完成。但是考虑到,上千个指标,折线图只会密密麻麻,可看性不强。
所以思来想去,还是用excel来实现。虽然数据会越来越多,会越来越慢,但是挡不住数据的直观性。可以通过筛选一目了然。
目前的版本只是复制之前的数据到新excel,然后根据数据的变大变小进行上色。后续还将统计连续七天变小的数据,届时将以邮件,短信登方式进行通知相应的管理员。
废话不多说,上代码
import xlrd,xlwt
def get_cell_bg_color( wb, sheet, row_index, col_index):
""" 获取某一个单元格的背景颜色 :param wb: :param sheet: :param row_index: :param col_index: :return: """
xfx = sheet.cell_xf_index(row_index, col_index)
xf = wb.xf_list[xfx]
font_color = wb.font_list[xf.font_index].colour_index
bg_color = xf.background.pattern_colour_index
return bg_color
workbook=xlrd.open_workbook("DD.XLS",formatting_info=True)
sheet_name=workbook.sheet_by_name('Sheet1')
rows=sheet_name.nrows
print(rows)
cols=sheet_name.ncols
print(cols)
old_color=[]
for i in range