目录
- 一:日报生成工具
- 二:日报工具使用方式
- 三:最终日报生成展示
一:日报生成工具
class GetHtml(object):def __init__(self):self._html_head = """<html><body style="background-color:#FAEBD7;">"""self._format_html_foot = """<p style="font-family: verdana,arial,sans-serif;font-size:10px;font-weight:lighter;">%s</p> """self._format_html_head = """<p style="font-family: verdana,arial,sans-serif;font-size:%dpx;font-weight:bold;align=center">%s</p> """self._html_tail = "</body></html>"self._html_p_head = """<p style="font-family: verdana,arial,sans-serif;font-size:12px;font-weight:bold;">%s</p> """self._table_caption = """ <caption style="caption-side:top;font-size:12px;font-weight:bold;">%s</caption> """self._table_head = """<table style="font-family: verdana,arial,sans-serif;font-size:11px;color:#000000;border-width: 1px;border-color: #222C44;border-collapse: collapse;" border="1"><tr> """self._format_table_th = """<th style="border-width: 1px;padding: 8px;border-style: solid;border-color: #98bf21;background-color: #A7C942;" nowrap>%s</th> """self._format_table_td = """<td style="border-width: 1px;padding: 8px;text-align: right;border-style: solid;border-color: #98bf21;background-color: #EAF2D3;" align="center" nowrap>%s</td> """self._table_tail = "</table>"self._content = ""self._table_html = []def add_table(self, table_title, th_info, td_info_list):table_str = ""table_p_head = self._html_p_head % (str(table_title))table_str = table_p_head + self._table_headtable_str += "<tr>"for th in th_info:temp_str = self._format_table_th % (str(th))table_str += temp_strtable_str += "</tr>"for td_info in td_info_list:table_str += "<tr>"for td in td_info:temp_str = self._format_table_td % (str(td))table_str += temp_strtable_str += "</tr>"table_str += self._table_tailself._table_html.append(table_str)def add_head(self, head, found_size=18):head_str = self._format_html_head % (found_size, str(head))self._table_html.append(head_str)def add_foot(self, foot):foot_str = self._format_html_foot % (str(foot))self._table_html.append(foot_str)@staticmethoddef concat_color(a, b):"""通过a,b对比给a增加高亮显示"""cmp_a, cmp_b = float(str(a).strip('%')), float(str(b).strip('%'))if cmp_a > cmp_b:new_a = '<font color="red">' + '{}↑'.format(a) + '</font>'elif cmp_a < cmp_b:new_a = '<font color="green">' + '{}↓'.format(a) + '</font>'else:new_a = areturn new_adef output_html(self):"""输出HTML文件"""html_content = self._html_headfor s in self._table_html:html_content += shtml_content += self._html_tailreturn html_content
二:日报工具使用方式
- 生成html对象: html = GetHtml()
- 给html新增标题: html.add_head(“标题”)
- html种增加统计表格:
total_table = list()total_header = ["日期", "进件总量", "进件完成量", "延时进件量", "卡单量", "通过量", "拒绝量", "人工量","通过率(%)", "拒绝率(%)", "平均耗时(秒)"]if len(total_table) >= 2:total_table[0][8] = html.concat_color(a=total_table[0][8], b=total_table[1][8])total_table[0][9] = html.concat_color(a=total_table[0][9], b=total_table[1][9])total_table[0][10] = html.concat_color(a=total_table[0][10], b=total_table[1][10])html.add_table("表{}-{}授信机审".format(num, get_product_chinese_name(product_name)), total_header, total_table)
- 输出html整个页面:html.output_html()
三:最终日报生成展示