def __init__(self, sheet_index, base_name, xl_out_path, app_echo=True, save_per_worker=False): super(LaborHourDataXLWriter, self).__init__(xl_out_path, app_echo, save_per_worker) self.base_name = base_name self.lh_sheet = self.xl_app.Sheets((base_name + config.lh_suffix).decode('utf-8').encode('gbk')) self.w_sheet = self.xl_app.Sheets((base_name + config.w_suffix).decode('utf-8').encode('gbk')) self.m_sheet = self.xl_app.Sheets(u'首页'.encode('gbk')) xl_operator = ExcelOperator(config.XLS_PATH) self.worker_dict_x = dict(xl_operator.get_id_name_pairs_with_row_number(sheet_index)) self.main_worker_dict_x = dict(xl_operator.get_id_name_pairs_with_row_number(0)) self.write_dates()
def __init__(self, sheet_index, base_name, xl_out_path, app_echo=True, save_per_worker=False): super(PerformanceXLWriter, self).__init__(xl_out_path, app_echo, save_per_worker) self.perf_sheet = self.xl_app.Sheets((base_name + config.p_suffix).decode('utf-8').encode('gbk')) xl_operator = ExcelOperator(config.XLS_PATH) self.worker_dict_x = dict(xl_operator.get_id_name_pairs_with_row_number(sheet_index)) self.main_worker_dict_x = dict(xl_operator.get_id_name_pairs_with_row_number(0)) worker_dict = xl_operator.get_id_name_pairs(sheet_index) self.perf_data_provider = PerformanceDataProvider('', dict(worker_dict),dict(worker_dict), dict(xl_operator.get_attended_days_count_pairs()), dict(xl_operator.get_work_performance( config.p_index_offset + sheet_index )))
def gen_table_cont(self): return super(PerformanceDataProvider, self).table_cont.format( date_colspan=11, sums_colspan=2, title_colspan=15, table_title=self.table_title, table_headers=self.table_headers, table_rows_contents='\n'.join(self.gen_worker_rows()) ) if __name__ == '__main__': config.db_path = '..\\this_month.db' for title, index in TITLE_INDEX_PAIRS: xls_obj = ExcelOperator('..\\data.xls') worker_dict = xls_obj.get_id_name_pairs(index) for num, d in enumerate(misc.take(worker_dict, by=43)): view = ViewWriter(PerformanceDataProvider(title, dict(worker_dict), dict(worker_dict), dict(xls_obj.get_attended_days_count_pairs()), dict(xls_obj.get_work_performance(config.p_index_offset + index)))) with open('%s%s.html' % (num, title.decode('utf-8')), 'w') as f: print >> f, view