diff --git a/myems-api/excelexporters/combinedequipmentbatch.py b/myems-api/excelexporters/combinedequipmentbatch.py index fb3dac46..5a55dbfa 100644 --- a/myems-api/excelexporters/combinedequipmentbatch.py +++ b/myems-api/excelexporters/combinedequipmentbatch.py @@ -6,12 +6,12 @@ from openpyxl.drawing.image import Image from openpyxl import Workbook -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excelexporters file # Step 3: Encode the excelexporters file to Base64 -#################################################################################################################### +######################################################################################################################## def export(result, space_name, reporting_start_datetime_local, reporting_end_datetime_local): #################################################################################################################### @@ -52,6 +52,7 @@ def generate_excel(report, space_name, reporting_start_datetime_local, reporting wb = Workbook() ws = wb.active + ws.title = "CombinedEquipmentBatch" # Row height ws.row_dimensions[1].height = 102 diff --git a/myems-api/excelexporters/combinedequipmentcost.py b/myems-api/excelexporters/combinedequipmentcost.py index d68b58b4..34e609e3 100644 --- a/myems-api/excelexporters/combinedequipmentcost.py +++ b/myems-api/excelexporters/combinedequipmentcost.py @@ -16,12 +16,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -72,18 +72,13 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "CombinedEquipmentCost" # Row height ws.row_dimensions[1].height = 102 for i in range(2, 2000 + 1): ws.row_dimensions[i].height = 42 - # for i in range(2, 37 + 1): - # ws.row_dimensions[i].height = 30 - # - # for i in range(38, 90 + 1): - # ws.row_dimensions[i].height = 30 - # Col width ws.column_dimensions['A'].width = 1.5 @@ -95,7 +90,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -684,7 +678,8 @@ def generate_excel(report, parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -743,7 +738,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -799,7 +794,7 @@ def generate_excel(report, ######################################################## ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -816,7 +811,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) diff --git a/myems-api/excelexporters/combinedequipmentefficiency.py b/myems-api/excelexporters/combinedequipmentefficiency.py index c7698950..712d5a46 100644 --- a/myems-api/excelexporters/combinedequipmentefficiency.py +++ b/myems-api/excelexporters/combinedequipmentefficiency.py @@ -14,12 +14,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -70,6 +70,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "CombinedEquipmentEfficiency" # Row height ws.row_dimensions[1].height = 102 @@ -87,7 +88,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -117,17 +117,10 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -166,7 +159,7 @@ def generate_excel(report, return filename - ################################## + #################################################################################################################### current_row_number = 6 @@ -242,7 +235,7 @@ def generate_excel(report, current_row_number += 2 - ##################################### + #################################################################################################################### has_parameters_names_and_timestamps_and_values_data = True current_sheet_parameters_row_number = current_row_number @@ -404,18 +397,19 @@ def generate_excel(report, chart_start_row_number += 6 ws.add_chart(line, chart_cell) - ##################################################################### + #################################################################################################################### if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -440,7 +434,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -474,7 +467,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -525,12 +518,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -547,7 +540,7 @@ def generate_excel(report, data_col = 3+col_index*3 labels_col = 2+col_index*3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i])+parameters_table_start_row_number)) diff --git a/myems-api/excelexporters/combinedequipmentenergycategory.py b/myems-api/excelexporters/combinedequipmentenergycategory.py index ae31e952..5466d80b 100644 --- a/myems-api/excelexporters/combinedequipmentenergycategory.py +++ b/myems-api/excelexporters/combinedequipmentenergycategory.py @@ -13,12 +13,12 @@ from openpyxl import Workbook from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -70,6 +70,7 @@ def generate_excel(report, wb = Workbook() ws = wb.active + ws.title = "CombinedEquipmentEnergyCategory" # Row height ws.row_dimensions[1].height = 102 @@ -88,7 +89,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -118,16 +118,9 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") - # img = Image("myems.png") img.width = img.width * 1.06 img.height = img.height * 1.06 ws.add_image(img, 'B1') @@ -166,14 +159,14 @@ def generate_excel(report, wb.save(filename) return filename - ################################################# + #################################################################################################################### # First: 能耗分析 # 6: title # 7: table title # 8~10 table_data # Total: 5 rows # if has not energy data: set low height for rows - ################################################# + #################################################################################################################### reporting_period_data = report['reporting_period'] has_energy_data_flag = True @@ -270,13 +263,13 @@ def generate_excel(report, else: for i in range(6, 9 + 1): ws.row_dimensions[i].height = 0.1 - ################################################# + #################################################################################################################### # Second: 分时电耗 # 12: title # 13: table title # 14~17 table_data # Total: 6 rows - ################################################ + #################################################################################################################### has_ele_peak_flag = True if "toppeaks" not in reporting_period_data.keys() or \ reporting_period_data['toppeaks'] is None or \ @@ -345,15 +338,13 @@ def generate_excel(report, pie_data = Reference(ws, min_col=3, min_row=13, max_row=17) pie.add_data(pie_data, titles_from_data=True) pie.set_categories(labels) - pie.height = 7.25 # cm 1.05*5 1.05cm = 30 pt + pie.height = 7.25 pie.width = 9 - # pie.title = "Pies sold by category" s1 = pie.series[0] s1.dLbls = DataLabelList() s1.dLbls.showCatName = False # 标签显示 s1.dLbls.showVal = True # 数量显示 s1.dLbls.showPercent = True # 百分比显示 - # s1 = CharacterProperties(sz=1800) # 图表中字体大小 *100 ws.add_chart(pie, "D13") @@ -361,13 +352,13 @@ def generate_excel(report, for i in range(12, 18 + 1): ws.row_dimensions[i].height = 0.1 - ################################################ + #################################################################################################################### # Fourth: 能耗详情 # current_row_number: title # current_row_number+1 ~ current_row_number+1+ca_len*6-1: line # current_row_number+1+ca_len*6: table title # current_row_number+1+ca_len*6~: table_data - ################################################ + #################################################################################################################### current_row_number = 19 reporting_period_data = report['reporting_period'] times = reporting_period_data['timestamps'] @@ -458,20 +449,17 @@ def generate_excel(report, line_data.marker.symbol = "circle" line_data.smooth = True line.x_axis.crosses = 'min' - line.height = 8.25 # cm 1.05*5 1.05cm = 30 pt + line.height = 8.25 line.width = 24 - # pie.title = "Pies sold by category" line.dLbls = DataLabelList() line.dLbls.dLblPos = 't' - # line.dLbls.showCatName = True # label show line.dLbls.showVal = True # val show line.dLbls.showPercent = True # percent show - # s1 = CharacterProperties(sz=1800) # font size *100 chart_col = 'B' chart_cell = chart_col + str(chart_start_row_number + 6*i) ws.add_chart(line, chart_cell) - ##################################### + #################################################################################################################### has_associated_equipment_flag = True @@ -554,7 +542,8 @@ def generate_excel(report, parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -613,7 +602,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -668,7 +657,7 @@ def generate_excel(report, ######################################################## ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -685,7 +674,7 @@ def generate_excel(report, data_col = 3+col_index*3 labels_col = 2+col_index*3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i])+parameters_table_start_row_number)) @@ -711,7 +700,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/combinedequipmentenergyitem.py b/myems-api/excelexporters/combinedequipmentenergyitem.py index d250ebcc..3dffad35 100644 --- a/myems-api/excelexporters/combinedequipmentenergyitem.py +++ b/myems-api/excelexporters/combinedequipmentenergyitem.py @@ -13,12 +13,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -69,6 +69,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "CombinedEquipmentEnergyItem" # Row height ws.row_dimensions[1].height = 102 @@ -86,7 +87,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -116,17 +116,10 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -164,7 +157,7 @@ def generate_excel(report, return filename - ################################## + #################################################################################################################### current_row_number = 6 @@ -301,7 +294,7 @@ def generate_excel(report, current_row_number += 1 - ##################################### + #################################################################################################################### has_values_data = True has_timestamps_data = True @@ -388,7 +381,7 @@ def generate_excel(report, format_time_width_number = 1.0 min_len_number = 1.0 - min_width_number = 11.0 # format_time_width_number * min_len_number + 4 and min_width_number > 11.0 + min_width_number = 11.0 if period_type == 'hourly': format_time_width_number = 4.0 @@ -432,7 +425,7 @@ def generate_excel(report, chart_start_row_number += 6 ws.add_chart(line, chart_cell) - ##################################### + #################################################################################################################### has_associated_equipment_flag = True @@ -488,7 +481,7 @@ def generate_excel(report, ws[col + row].alignment = c_c_alignment ws[col + row] = round(associated_equipment['subtotals_array'][j][i], 2) ws[col + row].border = f_border - ########################################## + #################################################################################################################### current_sheet_parameters_row_number = chart_start_row_number + 1 has_parameters_names_and_timestamps_and_values_data = True if 'parameters' not in report.keys() or \ @@ -507,14 +500,15 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -539,7 +533,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -573,7 +566,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -624,12 +617,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -646,7 +639,7 @@ def generate_excel(report, data_col = 3+col_index*3 labels_col = 2+col_index*3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i])+parameters_table_start_row_number)) @@ -672,7 +665,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/combinedequipmentincome.py b/myems-api/excelexporters/combinedequipmentincome.py index a8dd4cc9..9b585da9 100644 --- a/myems-api/excelexporters/combinedequipmentincome.py +++ b/myems-api/excelexporters/combinedequipmentincome.py @@ -16,12 +16,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -72,6 +72,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "CombinedEquipmentIncome" # Row height ws.row_dimensions[1].height = 102 @@ -89,7 +90,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -119,18 +119,11 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -168,7 +161,7 @@ def generate_excel(report, return filename - ################################## + #################################################################################################################### reporting_period_data = report['reporting_period'] @@ -243,7 +236,7 @@ def generate_excel(report, else: for i in range(6, 8 + 1): ws.row_dimensions[i].height = 0.1 - ################################## + #################################################################################################################### current_row_number = 10 has_subtotals_data_flag = True if "subtotals" not in reporting_period_data.keys() or \ @@ -327,7 +320,7 @@ def generate_excel(report, for i in range(13, 22 + 1): ws.row_dimensions[i].height = 0.1 - ############################################# + #################################################################################################################### current_row_number = 14 reporting_period_data = report['reporting_period'] times = reporting_period_data['timestamps'] @@ -456,7 +449,7 @@ def generate_excel(report, for i in range(37, 69 + 1): ws.row_dimensions[i].height = 0.1 - ##################################### + #################################################################################################################### has_associated_equipment_flag = True @@ -529,7 +522,7 @@ def generate_excel(report, ws[col_subtotal + row] = round(subtotal, 2) ws[col_subtotal + row].border = f_border print(subtotal) - ########################################## + #################################################################################################################### current_sheet_parameters_row_number = chart_start_row_number + ca_len * 6 + 1 has_parameters_names_and_timestamps_and_values_data = True if 'parameters' not in report.keys() or \ @@ -548,14 +541,15 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -580,7 +574,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -614,7 +607,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -665,12 +658,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -687,7 +680,7 @@ def generate_excel(report, data_col = 3+col_index*3 labels_col = 2+col_index*3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i])+parameters_table_start_row_number)) @@ -713,7 +706,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/combinedequipmentload.py b/myems-api/excelexporters/combinedequipmentload.py index 1bcb6e95..36ed4005 100644 --- a/myems-api/excelexporters/combinedequipmentload.py +++ b/myems-api/excelexporters/combinedequipmentload.py @@ -67,6 +67,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "CombinedEquipmentLoad" # Row height ws.row_dimensions[1].height = 102 @@ -117,7 +118,6 @@ def generate_excel(report, # Img img = Image("excelexporters/myems.png") - # img = Image("myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 ws.add_image(img, 'B1') @@ -328,11 +328,11 @@ def generate_excel(report, ws[col_maximum + str(rows)].number_format = '0.00' ws[col_maximum + str(rows)].border = f_border - ######################################################## - # third: LineChart - # LineChart requires data from the detailed data table in the Excel file - # so print the detailed data table first and then print LineChart - ######################################################## + ################################################################################################################ + # third: LineChart + # LineChart requires data from the detailed data table in the Excel file + # so print the detailed data table first and then print LineChart + ################################################################################################################ for i in range(0, ca_len): line = LineChart() line.title = "报告期 最大负荷 - " + names[i] + "(" + reporting_period_data['units'][i] + ")" @@ -359,7 +359,7 @@ def generate_excel(report, chart_cell = str(analysis_end_row_number + 6 * i) ws.add_chart(line, chart_col + chart_cell) - ##################################### + ################################################################################################################ has_associated_equipment_flag = True @@ -463,7 +463,8 @@ def generate_excel(report, parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -488,7 +489,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -522,7 +522,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -578,7 +578,7 @@ def generate_excel(report, ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -595,7 +595,7 @@ def generate_excel(report, data_col = 3+col_index*3 labels_col = 2+col_index*3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i])+parameters_table_start_row_number)) @@ -621,7 +621,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/combinedequipmentoutput.py b/myems-api/excelexporters/combinedequipmentoutput.py index dd05175d..6584c092 100644 --- a/myems-api/excelexporters/combinedequipmentoutput.py +++ b/myems-api/excelexporters/combinedequipmentoutput.py @@ -14,12 +14,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -70,6 +70,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "CombinedEquipmentOutput" # Row height ws.row_dimensions[1].height = 102 @@ -87,7 +88,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -117,17 +117,10 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -372,7 +365,7 @@ def generate_excel(report, chart_start_row_number += 6 ws.add_chart(line, chart_cell) - ##################################### + #################################################################################################################### has_associated_equipment_flag = True @@ -447,14 +440,15 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -479,7 +473,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -513,7 +506,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -564,12 +557,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -586,7 +579,7 @@ def generate_excel(report, data_col = 3+col_index*3 labels_col = 2+col_index*3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i])+parameters_table_start_row_number)) @@ -612,7 +605,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/combinedequipmentsaving.py b/myems-api/excelexporters/combinedequipmentsaving.py index d1915e39..fd94cefa 100644 --- a/myems-api/excelexporters/combinedequipmentsaving.py +++ b/myems-api/excelexporters/combinedequipmentsaving.py @@ -16,12 +16,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -72,6 +72,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "CombinedEquipmentSaving" # Row height ws.row_dimensions[1].height = 102 @@ -89,7 +90,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -119,18 +119,11 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -168,7 +161,7 @@ def generate_excel(report, return filename - ################################## + #################################################################################################################### current_row_number = 6 @@ -430,7 +423,7 @@ def generate_excel(report, s1.dLbls.showPercent = True ws.add_chart(pie, 'E' + str(chart_start_row_number)) - ############################################# + #################################################################################################################### has_values_saving_data = True has_timestamps_data = True @@ -644,7 +637,8 @@ def generate_excel(report, parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -703,7 +697,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -759,7 +753,7 @@ def generate_excel(report, ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -776,7 +770,7 @@ def generate_excel(report, data_col = 3+col_index*3 labels_col = 2+col_index*3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i])+parameters_table_start_row_number)) @@ -802,7 +796,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/combinedequipmentstatistics.py b/myems-api/excelexporters/combinedequipmentstatistics.py index 3ddc8178..085e11d7 100644 --- a/myems-api/excelexporters/combinedequipmentstatistics.py +++ b/myems-api/excelexporters/combinedequipmentstatistics.py @@ -12,12 +12,12 @@ from openpyxl import Workbook import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -68,6 +68,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "CombinedEquipmentStatistics" # Row height ws.row_dimensions[1].height = 102 @@ -85,7 +86,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - # data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -118,7 +118,6 @@ def generate_excel(report, # Img img = Image("excelexporters/myems.png") - # img = Image("myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 ws.add_image(img, 'B1') @@ -155,12 +154,12 @@ def generate_excel(report, wb.save(filename) return filename - ################################################# + #################################################################################################################### # First: 统计分析 # 6: title # 7: table title # 8~ca_len table_data - ################################################# + #################################################################################################################### reporting_period_data = report['reporting_period'] has_energy_data_flag = True @@ -310,11 +309,11 @@ def generate_excel(report, if reporting_period_data['variances_increment_rate'][i] is not None else '0.00%' ws['H' + str(row + 1)].border = f_border - ######################################################## + #################################################################################################################### # Second: 详细数据 # analysis_end_row_number+1~ analysis_end_row_number+1+line_charts_row_number+: line # detailed_start_row_number~ : the detailed data table - ######################################################## + #################################################################################################################### has_timestamps_flag = True if "timestamps" not in reporting_period_data.keys() or \ reporting_period_data['timestamps'] is None or \ @@ -410,7 +409,7 @@ def generate_excel(report, ser.marker.size = 5 ws.add_chart(line, 'B' + str(analysis_end_row_number + 6 * i)) - ##################################### + ################################################################################################################ has_associated_equipment_flag = True @@ -494,7 +493,8 @@ def generate_excel(report, parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -519,7 +519,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -553,7 +552,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -609,7 +608,7 @@ def generate_excel(report, ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -626,7 +625,7 @@ def generate_excel(report, data_col = 3+col_index*3 labels_col = 2+col_index*3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i])+parameters_table_start_row_number)) @@ -652,7 +651,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/equipmentbatch.py b/myems-api/excelexporters/equipmentbatch.py index 8724b61d..9a794fac 100644 --- a/myems-api/excelexporters/equipmentbatch.py +++ b/myems-api/excelexporters/equipmentbatch.py @@ -6,12 +6,12 @@ from openpyxl.drawing.image import Image from openpyxl import Workbook -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excelexporters file # Step 3: Encode the excelexporters file to Base64 -#################################################################################################################### +######################################################################################################################## def export(result, space_name, reporting_start_datetime_local, reporting_end_datetime_local): #################################################################################################################### @@ -52,6 +52,7 @@ def generate_excel(report, space_name, reporting_start_datetime_local, reporting wb = Workbook() ws = wb.active + ws.title = "EquipmentBatch" # Row height ws.row_dimensions[1].height = 102 @@ -102,12 +103,6 @@ def generate_excel(report, space_name, reporting_start_datetime_local, reporting wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") diff --git a/myems-api/excelexporters/equipmentcost.py b/myems-api/excelexporters/equipmentcost.py index 0e752072..bbf5e808 100644 --- a/myems-api/excelexporters/equipmentcost.py +++ b/myems-api/excelexporters/equipmentcost.py @@ -14,12 +14,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -71,6 +71,7 @@ def generate_excel(report, wb = Workbook() ws = wb.active + ws.title = "EquipmentCost" # Row height ws.row_dimensions[1].height = 102 @@ -119,16 +120,9 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") - # img = Image("myems.png") img.width = img.width * 1.06 img.height = img.height * 1.06 ws.add_image(img, 'B1') @@ -167,14 +161,14 @@ def generate_excel(report, wb.save(filename) return filename - ################################################# + #################################################################################################################### # First: 报告期成本分析 # 6: title # 7: table title # 8~10 table_data # Total: 5 rows # if has not energy data: set low height for rows - ################################################# + #################################################################################################################### reporting_period_data = report['reporting_period'] has_energy_data_flag = True @@ -249,13 +243,13 @@ def generate_excel(report, else: for i in range(6, 8 + 1): ws.row_dimensions[i].height = 0.1 - ################################################# + #################################################################################################################### # Second: 分时用电成本 # 12: title # 13: table title # 14~17 table_data # Total: 6 rows - ################################################ + #################################################################################################################### has_ele_peak_flag = True if "toppeaks" not in reporting_period_data.keys() or \ reporting_period_data['toppeaks'] is None or \ @@ -324,15 +318,13 @@ def generate_excel(report, pie_data = Reference(ws, min_col=3, min_row=13, max_row=17) pie.add_data(pie_data, titles_from_data=True) pie.set_categories(labels) - pie.height = 7.25 # cm 1.05*5 1.05cm = 30 pt + pie.height = 7.25 pie.width = 9 - # pie.title = "Pies sold by category" s1 = pie.series[0] s1.dLbls = DataLabelList() s1.dLbls.showCatName = False # 标签显示 s1.dLbls.showVal = True # 数量显示 s1.dLbls.showPercent = True # 百分比显示 - # s1 = CharacterProperties(sz=1800) # 图表中字体大小 *100 ws.add_chart(pie, "D13") @@ -341,9 +333,9 @@ def generate_excel(report, ws.row_dimensions[i].height = 0.1 # end_row 10 # start_row 12 - ################################################ + #################################################################################################################### # Second: 成本占比 - ################################################ + #################################################################################################################### current_row_number = 19 has_subtotals_data_flag = True @@ -412,13 +404,13 @@ def generate_excel(report, current_row_number += 1 - ################################################ + #################################################################################################################### # Fourth: 成本详情 # current_row_number: title # current_row_number+1 ~ current_row_number+1+ca_len*6-1: line # current_row_number+1+ca_len*6: table title # current_row_number+1+ca_len*6~: table_data - ################################################ + #################################################################################################################### reporting_period_data = report['reporting_period'] times = reporting_period_data['timestamps'] has_detail_data_flag = True @@ -508,21 +500,18 @@ def generate_excel(report, line_data.marker.symbol = "circle" line_data.smooth = True line.x_axis.crosses = 'min' - line.height = 8.25 # cm 1.05*5 1.05cm = 30 pt + line.height = 8.25 line.width = 24 - # pie.title = "Pies sold by category" line.dLbls = DataLabelList() line.dLbls.dLblPos = 't' - # line.dLbls.showCatName = True # label show line.dLbls.showVal = True # val show line.dLbls.showPercent = True # percent show - # s1 = CharacterProperties(sz=1800) # font size *100 chart_col = 'B' chart_cell = chart_col + str(chart_start_row_number + 6*i) ws.add_chart(line, chart_cell) current_sheet_parameters_row_number = chart_start_row_number + ca_len * 6 - ########################################## + #################################################################################################################### has_parameters_names_and_timestamps_and_values_data = True if 'parameters' not in report.keys() or \ report['parameters'] is None or \ @@ -540,14 +529,15 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -572,7 +562,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -606,7 +595,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -657,12 +646,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -679,7 +668,7 @@ def generate_excel(report, data_col = 3+col_index*3 labels_col = 2+col_index*3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i])+parameters_table_start_row_number)) @@ -705,7 +694,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/equipmentefficiency.py b/myems-api/excelexporters/equipmentefficiency.py index 18165e59..88fa80c3 100644 --- a/myems-api/excelexporters/equipmentefficiency.py +++ b/myems-api/excelexporters/equipmentefficiency.py @@ -14,12 +14,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -70,6 +70,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "EquipmentEfficiency" # Row height ws.row_dimensions[1].height = 102 @@ -127,7 +128,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -166,7 +166,7 @@ def generate_excel(report, return filename - ################################## + #################################################################################################################### current_row_number = 6 @@ -242,7 +242,7 @@ def generate_excel(report, current_row_number += 2 - ##################################### + #################################################################################################################### has_parameters_names_and_timestamps_and_values_data = True current_sheet_parameters_row_number = current_row_number @@ -262,7 +262,7 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False - ##################################### + #################################################################################################################### has_values_data = True has_timestamps_data = True @@ -360,7 +360,7 @@ def generate_excel(report, format_time_width_number = 1.0 min_len_number = 1.0 - min_width_number = 11.0 # format_time_width_number * min_len_number + 4 and min_width_number > 11.0 + min_width_number = 11.0 if period_type == 'hourly': format_time_width_number = 4.0 @@ -404,18 +404,19 @@ def generate_excel(report, chart_start_row_number += 6 ws.add_chart(line, chart_cell) - ##################################################################### + #################################################################################################################### if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -440,7 +441,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -474,7 +474,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -525,12 +525,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -547,7 +547,7 @@ def generate_excel(report, data_col = 3+col_index*3 labels_col = 2+col_index*3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i])+parameters_table_start_row_number)) diff --git a/myems-api/excelexporters/equipmentenergycategory.py b/myems-api/excelexporters/equipmentenergycategory.py index c7f2afa9..ac207d72 100644 --- a/myems-api/excelexporters/equipmentenergycategory.py +++ b/myems-api/excelexporters/equipmentenergycategory.py @@ -14,12 +14,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -71,6 +71,7 @@ def generate_excel(report, wb = Workbook() ws = wb.active + ws.title = "EquipmentEnergyCategory" # Row height ws.row_dimensions[1].height = 102 @@ -119,16 +120,9 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") - # img = Image("myems.png") img.width = img.width * 1.06 img.height = img.height * 1.06 ws.add_image(img, 'B1') @@ -167,14 +161,14 @@ def generate_excel(report, wb.save(filename) return filename - ################################################# + #################################################################################################################### # First: 能耗分析 # 6: title # 7: table title # 8~10 table_data # Total: 5 rows # if has not energy data: set low height for rows - ################################################# + #################################################################################################################### reporting_period_data = report['reporting_period'] has_energy_data_flag = True @@ -269,13 +263,13 @@ def generate_excel(report, else: for i in range(6, 9 + 1): ws.row_dimensions[i].height = 0.1 - ################################################# + #################################################################################################################### # Second: 分时电耗 # 12: title # 13: table title # 14~17 table_data # Total: 6 rows - ################################################ + #################################################################################################################### has_ele_peak_flag = True if "toppeaks" not in reporting_period_data.keys() or \ reporting_period_data['toppeaks'] is None or \ @@ -344,15 +338,13 @@ def generate_excel(report, pie_data = Reference(ws, min_col=3, min_row=13, max_row=17) pie.add_data(pie_data, titles_from_data=True) pie.set_categories(labels) - pie.height = 7.25 # cm 1.05*5 1.05cm = 30 pt + pie.height = 7.25 pie.width = 9 - # pie.title = "Pies sold by category" s1 = pie.series[0] s1.dLbls = DataLabelList() s1.dLbls.showCatName = False # 标签显示 s1.dLbls.showVal = True # 数量显示 s1.dLbls.showPercent = True # 百分比显示 - # s1 = CharacterProperties(sz=1800) # 图表中字体大小 *100 ws.add_chart(pie, "D13") @@ -361,13 +353,13 @@ def generate_excel(report, ws.row_dimensions[i].height = 0.1 # end_row 10 # start_row 12 - ################################################ + #################################################################################################################### # Third: 子空间能耗 # 19: title # 20: table title # 21~24 table_data # Total: 6 rows - ################################################ + #################################################################################################################### has_child_flag = True # Judge if the space has child space, if not, delete it. if "child_space" not in report.keys() or "energy_category_names" not in report['child_space'].keys() or \ @@ -433,24 +425,18 @@ def generate_excel(report, pie_data = Reference(ws, min_col=3 + i, min_row=table_start_row_number, max_row=table_end_row_number) pie.add_data(pie_data, titles_from_data=True) pie.set_categories(labels) - pie.height = 6.6 # cm 1.05*5 1.05cm = 30 pt + pie.height = 6.6 pie.width = 8 - # pie.title = "Pies sold by category" s1 = pie.series[0] s1.dLbls = DataLabelList() s1.dLbls.showCatName = False # 标签显示 s1.dLbls.showVal = True # 数量显示 s1.dLbls.showPercent = True # 百分比显示 - # s1 = CharacterProperties(sz=1800) # 图表中字体大小 *100 - chart_cell = '' if i % 2 == 0: chart_cell = 'B' + str(chart_start_row_number) else: chart_cell = 'E' + str(chart_start_row_number) chart_start_row_number += 5 - # ws.add_chart(pie, chart_cell) - # chart_col = chr(ord('B') + 2 * j) - # chart_cell = chart_col + '25' ws.add_chart(pie, chart_cell) current_row_number = chart_start_row_number @@ -460,13 +446,13 @@ def generate_excel(report, current_row_number += 1 - ################################################ + #################################################################################################################### # Fourth: 能耗详情 # current_row_number: title # current_row_number+1 ~ current_row_number+1+ca_len*6-1: line # current_row_number+1+ca_len*6: table title # current_row_number+1+ca_len*6~: table_data - ################################################ + #################################################################################################################### reporting_period_data = report['reporting_period'] times = reporting_period_data['timestamps'] has_detail_data_flag = True @@ -524,7 +510,6 @@ def generate_excel(report, for j in range(0, time_len): row = str(table_row+1 + j) - # col = chr(ord('B') + i) ws[col + row].font = title_font ws[col + row].alignment = c_c_alignment ws[col + row] = round(reporting_period_data['values'][i][j], 2) @@ -556,21 +541,18 @@ def generate_excel(report, line_data.marker.symbol = "circle" line_data.smooth = True line.x_axis.crosses = 'min' - line.height = 8.25 # cm 1.05*5 1.05cm = 30 pt + line.height = 8.25 line.width = 24 - # pie.title = "Pies sold by category" line.dLbls = DataLabelList() line.dLbls.dLblPos = 't' - # line.dLbls.showCatName = True # label show line.dLbls.showVal = True # val show line.dLbls.showPercent = True # percent show - # s1 = CharacterProperties(sz=1800) # font size *100 chart_col = 'B' chart_cell = chart_col + str(chart_start_row_number + 6*i) ws.add_chart(line, chart_cell) current_sheet_parameters_row_number = chart_start_row_number + ca_len * 6 - ########################################## + #################################################################################################################### has_parameters_names_and_timestamps_and_values_data = True if 'parameters' not in report.keys() or \ report['parameters'] is None or \ @@ -588,14 +570,15 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -620,7 +603,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -654,7 +636,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -705,12 +687,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -727,7 +709,7 @@ def generate_excel(report, data_col = 3+col_index*3 labels_col = 2+col_index*3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i])+parameters_table_start_row_number)) @@ -753,7 +735,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/equipmentenergyitem.py b/myems-api/excelexporters/equipmentenergyitem.py index 94cdc15c..dc454a56 100644 --- a/myems-api/excelexporters/equipmentenergyitem.py +++ b/myems-api/excelexporters/equipmentenergyitem.py @@ -14,12 +14,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -70,6 +70,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "EquipmentEnergyItem" # Row height ws.row_dimensions[1].height = 102 @@ -87,7 +88,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -117,17 +117,10 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -165,7 +158,7 @@ def generate_excel(report, return filename - ################################## + #################################################################################################################### current_row_number = 6 @@ -302,7 +295,7 @@ def generate_excel(report, current_row_number += 1 - #################################### + #################################################################################################################### has_values_data = True has_timestamps_data = True @@ -389,7 +382,7 @@ def generate_excel(report, format_time_width_number = 1.0 min_len_number = 1.0 - min_width_number = 11.0 # format_time_width_number * min_len_number + 4 and min_width_number > 11.0 + min_width_number = 11.0 if period_type == 'hourly': format_time_width_number = 4.0 @@ -433,7 +426,7 @@ def generate_excel(report, chart_start_row_number += 6 ws.add_chart(line, chart_cell) - ############################################### + #################################################################################################################### current_sheet_parameters_row_number = chart_start_row_number + 1 has_parameters_names_and_timestamps_and_values_data = True if 'parameters' not in report.keys() or \ @@ -451,14 +444,15 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -483,7 +477,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -517,7 +510,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -568,12 +561,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -590,7 +583,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) @@ -616,7 +609,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ############################################### + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/equipmentincome.py b/myems-api/excelexporters/equipmentincome.py index e228f7ed..e01d84a2 100644 --- a/myems-api/excelexporters/equipmentincome.py +++ b/myems-api/excelexporters/equipmentincome.py @@ -70,6 +70,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "EquipmentIncome" # Row height ws.row_dimensions[1].height = 102 @@ -87,7 +88,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -117,18 +117,11 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -166,7 +159,7 @@ def generate_excel(report, return filename - ################################## + #################################################################################################################### reporting_period_data = report['reporting_period'] @@ -241,7 +234,7 @@ def generate_excel(report, else: for i in range(6, 8 + 1): ws.row_dimensions[i].height = 0.1 - ################################## + #################################################################################################################### current_row_number = 10 has_subtotals_data_flag = True if "subtotals" not in reporting_period_data.keys() or \ @@ -326,7 +319,7 @@ def generate_excel(report, for i in range(13, 22 + 1): ws.row_dimensions[i].height = 0.1 - ############################################# + #################################################################################################################### current_row_number = 14 reporting_period_data = report['reporting_period'] times = reporting_period_data['timestamps'] @@ -453,7 +446,7 @@ def generate_excel(report, else: for i in range(37, 69 + 1): ws.row_dimensions[i].height = 0.1 - ########################################## + #################################################################################################################### current_sheet_parameters_row_number = current_row_number + ca_len * 6 + 1 has_parameters_names_and_timestamps_and_values_data = True if 'parameters' not in report.keys() or \ @@ -472,14 +465,15 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -504,7 +498,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -538,7 +531,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -589,12 +582,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -611,7 +604,7 @@ def generate_excel(report, data_col = 3+col_index*3 labels_col = 2+col_index*3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i])+parameters_table_start_row_number)) @@ -637,7 +630,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/equipmentload.py b/myems-api/excelexporters/equipmentload.py index f53d263a..998ad8b9 100644 --- a/myems-api/excelexporters/equipmentload.py +++ b/myems-api/excelexporters/equipmentload.py @@ -12,12 +12,12 @@ from openpyxl import Workbook import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -67,6 +67,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "EquipmentLoad" # Row height ws.row_dimensions[1].height = 102 @@ -84,7 +85,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - # data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -114,16 +114,9 @@ def generate_excel(report, wrap_text=False, shrink_to_fit=False, indent=0) - # c_r_alignment = Alignment(vertical='bottom', - # horizontal='center', - # text_rotation=0, - # wrap_text=False, - # shrink_to_fit=False, - # indent=0) # Img img = Image("excelexporters/myems.png") - # img = Image("myems.png") img.width = img.width * 1.06 img.height = img.height * 1.06 ws.add_image(img, 'B1') @@ -160,12 +153,12 @@ def generate_excel(report, wb.save(filename) return filename - ################################################# + #################################################################################################################### # First: 统计分析 # 6: title # 7: table title # 8~2*ca_len table_data - ################################################# + #################################################################################################################### reporting_period_data = report['reporting_period'] has_energy_data_flag = True @@ -261,12 +254,12 @@ def generate_excel(report, if reporting_period_data['factors_increment_rate'][i] is not None else '0.00%' ws['E' + str(row + 1)].border = f_border - ######################################################## + #################################################################################################################### # Third: 详细数据 # row_sat~ row_sat + 6*cal_len: line # row_da: table title # row_da + 1~: table_data - ######################################################## + #################################################################################################################### has_timestamps_flag = True if "timestamps" not in reporting_period_data.keys() or \ reporting_period_data['timestamps'] is None or \ @@ -338,18 +331,8 @@ def generate_excel(report, ws[col_maximum + str(rows)].border = f_border current_row_number = row_da + 1 + time_len - # ws['B' + str(current_row_number)].font = title_font - # ws['B' + str(current_row_number)].alignment = c_c_alignment - # ws['B' + str(current_row_number)].border = f_border - # ws['B' + str(current_row_number)] = '小计' # LineChart for i in range(0, ca_len): - # col = chr(ord('C') + i) - # ws[col + str(current_row_number)].font = title_font - # ws[col + str(current_row_number)].alignment = c_c_alignment - # ws[col + str(current_row_number)].border = f_border - # ws[col + str(current_row_number)] = round(reporting_period_data['subtotals'][i], 2) - lc = LineChart() lc.title = "报告期 最大负荷" lc.style = 10 @@ -375,7 +358,7 @@ def generate_excel(report, chart_cell = str(row_sat + 6 * i) ws.add_chart(lc, chart_col + chart_cell) - ########################################### + #################################################################################################################### current_sheet_parameters_row_number = row_sat + 1 + 6 * ca_len has_parameters_names_and_timestamps_and_values_data = True if 'parameters' not in report.keys() or \ @@ -393,14 +376,15 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -425,7 +409,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -459,7 +442,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -510,12 +493,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -532,7 +515,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) @@ -558,7 +541,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################### + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/equipmentoutput.py b/myems-api/excelexporters/equipmentoutput.py index 0c98a3b4..9fbbf077 100644 --- a/myems-api/excelexporters/equipmentoutput.py +++ b/myems-api/excelexporters/equipmentoutput.py @@ -70,6 +70,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "EquipmentOutput" # Row height ws.row_dimensions[1].height = 102 @@ -87,7 +88,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -117,17 +117,10 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -165,7 +158,7 @@ def generate_excel(report, return filename - ################################## + #################################################################################################################### current_row_number = 6 @@ -241,7 +234,7 @@ def generate_excel(report, current_row_number += 2 - #################################### + #################################################################################################################### has_values_data = True has_timestamps_data = True @@ -328,7 +321,7 @@ def generate_excel(report, format_time_width_number = 1.0 min_len_number = 1.0 - min_width_number = 11.0 # format_time_width_number * min_len_number + 4 and min_width_number > 11.0 + min_width_number = 11.0 if period_type == 'hourly': format_time_width_number = 4.0 @@ -372,7 +365,7 @@ def generate_excel(report, chart_start_row_number += 6 ws.add_chart(line, chart_cell) - #################################################### + #################################################################################################################### current_sheet_parameters_row_number = chart_start_row_number + 1 has_parameters_names_and_timestamps_and_values_data = True if 'parameters' not in report.keys() or \ @@ -390,14 +383,15 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -422,7 +416,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -456,7 +449,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -507,12 +500,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -529,7 +522,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) @@ -555,7 +548,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - #################################################### + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/equipmentsaving.py b/myems-api/excelexporters/equipmentsaving.py index ec2f59e0..5ee81bf7 100644 --- a/myems-api/excelexporters/equipmentsaving.py +++ b/myems-api/excelexporters/equipmentsaving.py @@ -14,12 +14,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -70,6 +70,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "EquipmentSaving" # Row height ws.row_dimensions[1].height = 102 @@ -87,7 +88,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -117,18 +117,11 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -166,7 +159,7 @@ def generate_excel(report, return filename - ################################## + #################################################################################################################### current_row_number = 6 @@ -428,7 +421,7 @@ def generate_excel(report, s1.dLbls.showPercent = True ws.add_chart(pie, 'E' + str(chart_start_row_number)) - ############################################# + #################################################################################################################### has_values_saving_data = True has_timestamps_data = True @@ -515,7 +508,7 @@ def generate_excel(report, format_time_width_number = 1.0 min_len_number = 1.0 - min_width_number = 11.0 # format_time_width_number * min_len_number + 4 and min_width_number > 11.0 + min_width_number = 11.0 if period_type == 'hourly': format_time_width_number = 4.0 @@ -559,7 +552,7 @@ def generate_excel(report, chart_start_row_number += 6 ws.add_chart(line, chart_cell) - ##################################### + #################################################################################################################### current_sheet_parameters_row_number = chart_start_row_number + 2 has_parameters_names_and_timestamps_and_values_data = True if 'parameters' not in report.keys() or \ @@ -577,14 +570,15 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -609,7 +603,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -643,7 +636,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -694,12 +687,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -716,7 +709,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) @@ -742,7 +735,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ##################################### + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/equipmentstatistics.py b/myems-api/excelexporters/equipmentstatistics.py index 3aeff0e9..011caa43 100644 --- a/myems-api/excelexporters/equipmentstatistics.py +++ b/myems-api/excelexporters/equipmentstatistics.py @@ -12,12 +12,12 @@ from openpyxl import Workbook import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -68,6 +68,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "EquipmentStatistics" # Row height ws.row_dimensions[1].height = 102 @@ -85,7 +86,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - # data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -118,7 +118,6 @@ def generate_excel(report, # Img img = Image("excelexporters/myems.png") - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -153,12 +152,12 @@ def generate_excel(report, wb.save(filename) return filename - ################################################# + #################################################################################################################### # First: 统计分析 # 6: title # 7: table title # 8~ca_len table_data - ################################################# + #################################################################################################################### reporting_period_data = report['reporting_period'] has_energy_data_flag = True @@ -308,11 +307,11 @@ def generate_excel(report, if reporting_period_data['variances_increment_rate'][i] is not None else '0.00%' ws['H' + str(row + 1)].border = f_border - ######################################################## + #################################################################################################################### # Second: 详细数据 # a+1~ analysis_end_row_number+1+line_charts_row_number+: line # detailed_start_row_number~ : the detailed data table - ######################################################## + #################################################################################################################### has_timestamps_flag = True if "timestamps" not in reporting_period_data.keys() or \ reporting_period_data['timestamps'] is None or \ @@ -381,16 +380,16 @@ def generate_excel(report, ws[col + str(row_subtotals)].border = f_border ws[col + str(row_subtotals)].number_format = '0.00' - ######################################################## + #################################################################################################################### # third: LineChart # LineChart requires data from the detailed data table in the Excel file # so print the detailed data table first and then print LineChart - ######################################################## + #################################################################################################################### for i in range(0, ca_len): line = LineChart() line.title = "报告期消耗" + " - " + names[i] + "(" + reporting_period_data['units'][i] + ")" line.style = 10 - line.height = 8.40 # cm 1.05*8 1.05cm = 30 pt + line.height = 8.40 line.width = 24 line.x_axis.majorTickMark = 'in' line.y_axis.majorTickMark = 'in' @@ -408,7 +407,7 @@ def generate_excel(report, ser.marker.size = 5 ws.add_chart(line, 'B' + str(analysis_end_row_number + 2 + 6 * i)) - ################################################## + #################################################################################################################### current_sheet_parameters_row_number = analysis_end_row_number + 2 + 6 * ca_len has_parameters_names_and_timestamps_and_values_data = True if 'parameters' not in report.keys() or \ @@ -426,14 +425,15 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -458,7 +458,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -492,7 +491,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -543,12 +542,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -565,7 +564,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) @@ -591,7 +590,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ################################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/equipmenttracking.py b/myems-api/excelexporters/equipmenttracking.py index ac8e3ccb..cc2a7808 100644 --- a/myems-api/excelexporters/equipmenttracking.py +++ b/myems-api/excelexporters/equipmenttracking.py @@ -11,12 +11,12 @@ from openpyxl import Workbook from openpyxl.chart.label import DataLabelList -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excelexporters file # Step 3: Encode the excelexporters file to Base64 -#################################################################################################################### +######################################################################################################################## def export(result, space_name): #################################################################################################################### @@ -55,6 +55,7 @@ def generate_excel(report, space_name): wb = Workbook() ws = wb.active + ws.title = "EquipmentTracking" # Row height ws.row_dimensions[1].height = 118 @@ -66,17 +67,12 @@ def generate_excel(report, space_name): # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) - table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), right=Side(border_style='medium', color='00000000'), bottom=Side(border_style='medium', color='00000000'), top=Side(border_style='medium', color='00000000') ) - b_border = Border( - bottom=Side(border_style='medium', color='00000000'), - ) b_c_alignment = Alignment(vertical='bottom', horizontal='center', @@ -90,18 +86,6 @@ def generate_excel(report, space_name): wrap_text=False, shrink_to_fit=False, indent=0) - b_r_alignment = Alignment(vertical='bottom', - horizontal='right', - text_rotation=0, - wrap_text=False, - shrink_to_fit=False, - indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=False, - shrink_to_fit=False, - indent=0) for i in range(ord('B'), ord('F')): ws.column_dimensions[chr(i)].width = 30.0 diff --git a/myems-api/excelexporters/metercost.py b/myems-api/excelexporters/metercost.py index 1bf4d1ba..ba0892e4 100644 --- a/myems-api/excelexporters/metercost.py +++ b/myems-api/excelexporters/metercost.py @@ -14,12 +14,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excelexporters file # Step 3: Encode the excelexporters file to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, name, reporting_start_datetime_local, reporting_end_datetime_local, period_type): #################################################################################################################### @@ -65,16 +65,11 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d # todo ws = wb.active - + ws.title = "MeterCost" # Row height ws.row_dimensions[1].height = 102 for i in range(2, 2000 + 1): ws.row_dimensions[i].height = 42 - # for i in range(2, 11 + 1): - # ws.row_dimensions[i].height = 30 - # - # for i in range(12, 43 + 1): - # ws.row_dimensions[i].height = 30 # Col width ws.column_dimensions['A'].width = 1.5 @@ -87,7 +82,6 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -117,18 +111,11 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -166,7 +153,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d return filename - ############################### + #################################################################################################################### has_cost_data_flag = True @@ -261,7 +248,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d for i in range(6, 9 + 1): ws.rows_dimensions[i].height = 0.1 - ###################################### + #################################################################################################################### has_cost_datail_flag = True reporting_period_data = report['reporting_period'] @@ -365,7 +352,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d for i in range(11, 43 + 1): ws.row_dimensions[i].height = 0.0 - ########################################## + #################################################################################################################### has_parameters_names_and_timestamps_and_values_data = True # 12 is the starting line number of the last line chart in the report period time_len = len(reporting_period_data['timestamps']) @@ -385,15 +372,16 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -418,7 +406,6 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -452,7 +439,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -503,12 +490,12 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -525,7 +512,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) diff --git a/myems-api/excelexporters/meterenergy.py b/myems-api/excelexporters/meterenergy.py index b8e32905..1f78af32 100644 --- a/myems-api/excelexporters/meterenergy.py +++ b/myems-api/excelexporters/meterenergy.py @@ -13,12 +13,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excelexporters file # Step 3: Encode the excelexporters file to Base64 -#################################################################################################################### +######################################################################################################################## def export(result, name, reporting_start_datetime_local, reporting_end_datetime_local, period_type): #################################################################################################################### @@ -60,18 +60,13 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d wb = Workbook() ws = wb.active + ws.title = "MeterEnergy" # Row height ws.row_dimensions[1].height = 102 for i in range(2, 2000 + 1): ws.row_dimensions[i].height = 42 - # for i in range(2, 11 + 1): - # ws.row_dimensions[i].height = 30 - # - # for i in range(12, 43 + 1): - # ws.row_dimensions[i].height = 30 - # Col width ws.column_dimensions['A'].width = 1.5 @@ -83,7 +78,6 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -113,18 +107,11 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -161,12 +148,12 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d wb.save(filename) return filename - ################################################# + #################################################################################################################### # First: 能耗分析 # 6: title # 7: table title # 8~9 table_data - ################################################# + #################################################################################################################### has_energy_data_flag = True if "values" not in report['reporting_period'].keys() or len(report['reporting_period']['values']) == 0: @@ -177,7 +164,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d ws['B6'] = name + '能耗分析' reporting_period_data = report['reporting_period'] - # print(reporting_period_data) + category = report['meter']['energy_category_name'] ca_len = len(category) @@ -261,13 +248,13 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d else: for i in range(6, 9 + 1): ws.row_dimensions[i].height = 0.1 - ################################################# + #################################################################################################################### # Second: 能耗详情 # 11: title # 12 ~ 16: chart # 18: table title # 19~43: table_data - ################################################# + #################################################################################################################### has_energy_detail_flag = True reporting_period_data = report['reporting_period'] times = reporting_period_data['timestamps'] @@ -349,17 +336,13 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d line_data.marker.symbol = "circle" line_data.smooth = True line.x_axis.crosses = 'min' - # line_data.smooth = True - line.height = 8.25 # cm 1.05*5 1.05cm = 30 pt + line.height = 8.25 line.width = 24 - # pie.title = "Pies sold by category" line.dLbls = DataLabelList() - # line.dLbls.showCatName = True # 标签显示 line.dLbls = DataLabelList() line.dLbls.dLblPos = 't' line.dLbls.showVal = True # 数量显示 line.dLbls.showPercent = False # 百分比显示 - # s1 = CharacterProperties(sz=1800) # 图表中字体大小 *100 ws.add_chart(line, "B12") col = 'B' @@ -403,15 +386,16 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -436,7 +420,6 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -470,7 +453,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -521,12 +504,12 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -543,7 +526,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) diff --git a/myems-api/excelexporters/metersubmetersbalance.py b/myems-api/excelexporters/metersubmetersbalance.py index f8c238e7..5074cd49 100644 --- a/myems-api/excelexporters/metersubmetersbalance.py +++ b/myems-api/excelexporters/metersubmetersbalance.py @@ -13,12 +13,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excelexporters file # Step 3: Encode the excelexporters file to Base64 -#################################################################################################################### +######################################################################################################################## def export(result, name, reporting_start_datetime_local, reporting_end_datetime_local, period_type): #################################################################################################################### @@ -59,6 +59,7 @@ def export(result, name, reporting_start_datetime_local, reporting_end_datetime_ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_datetime_local, period_type): wb = Workbook() ws = wb.active + ws.title = "MeterSubmetersBalance" # Row height ws.row_dimensions[1].height = 102 @@ -76,7 +77,6 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -106,18 +106,11 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -154,7 +147,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d wb.save(filename) return filename - ################################################# + #################################################################################################################### has_difference_values_data_flag = True if 'difference_values' not in report['reporting_period'].keys() or len( @@ -321,7 +314,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d else: pass - ########################################## + #################################################################################################################### has_parameters_names_and_timestamps_and_values_data = True # 12 is the starting line number of the last line chart in the report period category = report['meter']['energy_category_name'] @@ -343,15 +336,16 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -376,7 +370,6 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -410,7 +403,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -461,12 +454,12 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -483,7 +476,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) diff --git a/myems-api/excelexporters/metertracking.py b/myems-api/excelexporters/metertracking.py index c51f1d2b..d9065dce 100644 --- a/myems-api/excelexporters/metertracking.py +++ b/myems-api/excelexporters/metertracking.py @@ -11,12 +11,12 @@ from openpyxl import Workbook from openpyxl.chart.label import DataLabelList -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excelexporters file # Step 3: Encode the excelexporters file to Base64 -#################################################################################################################### +######################################################################################################################## def export(result, space_name, reporting_start_datetime_local, reporting_end_datetime_local): #################################################################################################################### @@ -57,6 +57,7 @@ def generate_excel(report, space_name, reporting_start_datetime_local, reporting wb = Workbook() ws = wb.active + ws.title = "MeterTracking" # Row height ws.row_dimensions[1].height = 102 @@ -77,7 +78,6 @@ def generate_excel(report, space_name, reporting_start_datetime_local, reporting # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -107,12 +107,6 @@ def generate_excel(report, space_name, reporting_start_datetime_local, reporting wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") diff --git a/myems-api/excelexporters/metertrend.py b/myems-api/excelexporters/metertrend.py index 972c4f91..6fe7b004 100644 --- a/myems-api/excelexporters/metertrend.py +++ b/myems-api/excelexporters/metertrend.py @@ -14,12 +14,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(result, @@ -70,15 +70,13 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "MeterTrend" # Row height ws.row_dimensions[1].height = 102 for i in range(2, 8): ws.row_dimensions[i].height = 42 - # for i in range(2, 6 + 1): - # ws.row_dimensions[i].height = 30 - # Col width ws.column_dimensions['A'].width = 1.5 @@ -120,18 +118,11 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -159,12 +150,12 @@ def generate_excel(report, wb.save(filename) return filename - ################################################ + #################################################################################################################### # First: 趋势 # 6: title # 7: table title # 8~ table_data - ################################################ + #################################################################################################################### has_data_flag = True reporting_period_data = report['reporting_period'] if "names" not in reporting_period_data.keys() or \ @@ -211,7 +202,6 @@ def generate_excel(report, if has_data: max_row = start_detail_data_row_num + len(time) - # print("max_row", max_row) ws['B6'].font = title_font ws['B6'] = name + ' 趋势' @@ -225,7 +215,6 @@ def generate_excel(report, for i in range(0, len(time)): col = 'B' row = str(start_detail_data_row_num + i) - # col = chr(ord('B') + i) ws[col + row].font = title_font ws[col + row].alignment = c_c_alignment ws[col + row] = time[i] @@ -244,7 +233,6 @@ def generate_excel(report, for j in range(0, len(time)): row = str(start_detail_data_row_num + j) - # col = chr(ord('B') + i) ws[col + row].font = title_font ws[col + row].alignment = c_c_alignment ws[col + row] = round(reporting_period_data['values'][i][j], 3) if \ @@ -259,19 +247,14 @@ def generate_excel(report, line_data = Reference(ws, min_col=3 + i, min_row=start_detail_data_row_num+1, max_row=max_row-1) line.add_data(line_data, titles_from_data=True) line.set_categories(labels) - # line_data = line.series[0] - # line_data.marker.symbol = "circle" line_data.smooth = True line.x_axis.crosses = 'min' - line.height = 8.25 # cm 1.05*5 1.05cm = 30 pt + line.height = 8.25 line.width = 36 - # pie.title = "Pies sold by category" line.dLbls = DataLabelList() - # line.dLbls.showCatName = True # label show line.dLbls.dLblPos = 't' line.dLbls.showVal = False # val show line.dLbls.showPercent = False # percent show - # s1 = CharacterProperties(sz=1800) # font size *100 chart_col = chr(ord('B')) chart_cell = chart_col + str(7 + 6*i) @@ -279,7 +262,7 @@ def generate_excel(report, else: pass - ########################################## + #################################################################################################################### has_parameters_names_and_timestamps_and_values_data = True # 12 is the starting line number of the last line chart in the report period @@ -298,15 +281,16 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -331,7 +315,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -357,7 +340,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -408,12 +391,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -430,7 +413,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) diff --git a/myems-api/excelexporters/offlinemetercost.py b/myems-api/excelexporters/offlinemetercost.py index e932afe4..a7753006 100644 --- a/myems-api/excelexporters/offlinemetercost.py +++ b/myems-api/excelexporters/offlinemetercost.py @@ -13,12 +13,12 @@ from openpyxl import Workbook from openpyxl.chart.label import DataLabelList -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excelexporters file # Step 3: Encode the excelexporters file to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, name, reporting_start_datetime_local, reporting_end_datetime_local, period_type): #################################################################################################################### @@ -64,7 +64,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d # todo ws = wb.active - + ws.title = "OfflineMeterCost" # Row height ws.row_dimensions[1].height = 102 for i in range(2, 2000 + 1): @@ -81,7 +81,6 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -111,18 +110,11 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -160,7 +152,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d return filename - ############################### + #################################################################################################################### has_cost_data_flag = True @@ -256,7 +248,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d for i in range(6, 9 + 1): ws.rows_dimensions[i].height = 0.1 - ###################################### + #################################################################################################################### has_cost_datail_flag = True reporting_period_data = report['reporting_period'] diff --git a/myems-api/excelexporters/offlinemeterenergy.py b/myems-api/excelexporters/offlinemeterenergy.py index 6eebc35a..2cee35b0 100644 --- a/myems-api/excelexporters/offlinemeterenergy.py +++ b/myems-api/excelexporters/offlinemeterenergy.py @@ -12,12 +12,12 @@ from openpyxl import Workbook from openpyxl.chart.label import DataLabelList -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excelexporters file # Step 3: Encode the excelexporters file to Base64 -#################################################################################################################### +######################################################################################################################## def export(result, name, reporting_start_datetime_local, reporting_end_datetime_local, period_type): #################################################################################################################### @@ -59,18 +59,13 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d wb = Workbook() ws = wb.active + ws.title = "OfflineMeterEnergy" # Row height ws.row_dimensions[1].height = 102 for i in range(2, 2000 + 1): ws.row_dimensions[i].height = 42 - # for i in range(2, 11 + 1): - # ws.row_dimensions[i].height = 30 - # - # for i in range(12, 43 + 1): - # ws.row_dimensions[i].height = 30 - # Col width ws.column_dimensions['A'].width = 1.5 @@ -82,7 +77,6 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -112,18 +106,11 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -161,7 +148,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d return filename - ################################ + #################################################################################################################### has_energy_data_flag = True diff --git a/myems-api/excelexporters/shopfloorbatch.py b/myems-api/excelexporters/shopfloorbatch.py index f24d7485..7f7c3ff9 100644 --- a/myems-api/excelexporters/shopfloorbatch.py +++ b/myems-api/excelexporters/shopfloorbatch.py @@ -52,6 +52,7 @@ def generate_excel(report, space_name, reporting_start_datetime_local, reporting wb = Workbook() ws = wb.active + ws.title = "ShopFloorBatch" # Row height ws.row_dimensions[1].height = 102 @@ -102,12 +103,6 @@ def generate_excel(report, space_name, reporting_start_datetime_local, reporting wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") diff --git a/myems-api/excelexporters/shopfloorcost.py b/myems-api/excelexporters/shopfloorcost.py index 441a31ed..f97b6866 100644 --- a/myems-api/excelexporters/shopfloorcost.py +++ b/myems-api/excelexporters/shopfloorcost.py @@ -13,12 +13,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -69,18 +69,13 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "ShopFloorCost" # Row height ws.row_dimensions[1].height = 102 for i in range(2, 2000 + 1): ws.row_dimensions[i].height = 42 - # for i in range(2, 37 + 1): - # ws.row_dimensions[i].height = 30 - # - # for i in range(38, 90 + 1): - # ws.row_dimensions[i].height = 30 - # Col width ws.column_dimensions['A'].width = 1.5 @@ -92,7 +87,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -122,18 +116,11 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -170,7 +157,7 @@ def generate_excel(report, return filename - ################################################# + #################################################################################################################### reporting_period_data = report['reporting_period'] @@ -259,7 +246,7 @@ def generate_excel(report, for i in range(6, 10 + 1): ws.row_dimensions[i].height = 0.1 - ################################################# + #################################################################################################################### has_ele_peak_flag = True if "toppeaks" not in reporting_period_data.keys() or \ @@ -374,7 +361,7 @@ def generate_excel(report, for i in range(12, 18 + 1): ws.row_dimensions[i].height = 0.1 - ################################################ + #################################################################################################################### current_row_number = 19 @@ -460,7 +447,7 @@ def generate_excel(report, current_row_number = 30 ws.row_dimensions[i].height = 0.1 - ############################################### + #################################################################################################################### current_row_number += 1 @@ -607,7 +594,7 @@ def generate_excel(report, for i in range(30, 69 + 1): current_row_number = 70 ws.row_dimensions[i].height = 0.1 - ########################################## + #################################################################################################################### has_parameters_names_and_timestamps_and_values_data = True ca_len = len(report['reporting_period']['names']) @@ -627,15 +614,16 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -660,7 +648,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -694,7 +681,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -745,12 +732,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -767,7 +754,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) diff --git a/myems-api/excelexporters/shopfloorenergycategory.py b/myems-api/excelexporters/shopfloorenergycategory.py index 1474d22e..8ad2428e 100644 --- a/myems-api/excelexporters/shopfloorenergycategory.py +++ b/myems-api/excelexporters/shopfloorenergycategory.py @@ -12,12 +12,12 @@ from openpyxl import Workbook from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -69,6 +69,7 @@ def generate_excel(report, wb = Workbook() ws = wb.active + ws.title = "ShopFloorEnergyCategory" # Row height ws.row_dimensions[1].height = 102 @@ -87,7 +88,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -117,16 +117,9 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") - # img = Image("myems.png") img.width = img.width * 1.06 img.height = img.height * 1.06 ws.add_image(img, 'B1') @@ -165,14 +158,14 @@ def generate_excel(report, wb.save(filename) return filename - ################################################# + #################################################################################################################### # First: 能耗分析 # 6: title # 7: table title # 8~10 table_data # Total: 5 rows # if has not energy data: set low height for rows - ################################################# + #################################################################################################################### reporting_period_data = report['reporting_period'] has_energy_data_flag = True @@ -287,13 +280,13 @@ def generate_excel(report, else: for i in range(6, 10 + 1): ws.row_dimensions[i].height = 0.1 - ################################################# + #################################################################################################################### # Second: 分时电耗 # 12: title # 13: table title # 14~17 table_data # Total: 6 rows - ################################################ + #################################################################################################################### has_ele_peak_flag = True if "toppeaks" not in reporting_period_data.keys() or \ reporting_period_data['toppeaks'] is None or \ @@ -362,15 +355,13 @@ def generate_excel(report, pie_data = Reference(ws, min_col=3, min_row=13, max_row=17) pie.add_data(pie_data, titles_from_data=True) pie.set_categories(labels) - pie.height = 7.25 # cm 1.05*5 1.05cm = 30 pt + pie.height = 7.25 pie.width = 9 - # pie.title = "Pies sold by category" s1 = pie.series[0] s1.dLbls = DataLabelList() s1.dLbls.showCatName = False # 标签显示 s1.dLbls.showVal = True # 数量显示 s1.dLbls.showPercent = True # 百分比显示 - # s1 = CharacterProperties(sz=1800) # 图表中字体大小 *100 ws.add_chart(pie, "D13") @@ -378,13 +369,13 @@ def generate_excel(report, for i in range(12, 18 + 1): ws.row_dimensions[i].height = 0.1 - ################################################ + #################################################################################################################### # Fourth: 能耗详情 # current_row_number: title # current_row_number+1 ~ current_row_number+1+ca_len*6-1: line # current_row_number+1+ca_len*6: table title # current_row_number+1+ca_len*6~: table_data - ################################################ + #################################################################################################################### current_row_number = 19 reporting_period_data = report['reporting_period'] times = reporting_period_data['timestamps'] @@ -480,20 +471,17 @@ def generate_excel(report, line_data.marker.symbol = "circle" line_data.smooth = True line.x_axis.crosses = 'min' - line.height = 8.25 # cm 1.05*5 1.05cm = 30 pt + line.height = 8.25 line.width = 24 - # pie.title = "Pies sold by category" line.dLbls = DataLabelList() line.dLbls.dLblPos = 't' - # line.dLbls.showCatName = True # label show line.dLbls.showVal = True # val show line.dLbls.showPercent = True # percent show - # s1 = CharacterProperties(sz=1800) # font size *100 chart_col = 'B' chart_cell = chart_col + str(chart_start_row_number + 6*i) ws.add_chart(line, chart_cell) - ########################################## + #################################################################################################################### has_parameters_names_and_timestamps_and_values_data = True ca_len = len(report['reporting_period']['names']) @@ -513,15 +501,16 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -546,7 +535,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -580,7 +568,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -631,12 +619,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -653,7 +641,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) diff --git a/myems-api/excelexporters/shopfloorenergyitem.py b/myems-api/excelexporters/shopfloorenergyitem.py index 7091c7c4..94a905fd 100644 --- a/myems-api/excelexporters/shopfloorenergyitem.py +++ b/myems-api/excelexporters/shopfloorenergyitem.py @@ -12,12 +12,12 @@ from openpyxl import Workbook from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -68,6 +68,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "ShopFloorEnergyItem" # Row height ws.row_dimensions[1].height = 102 @@ -125,7 +126,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -163,7 +163,7 @@ def generate_excel(report, return filename - ################################## + #################################################################################################################### current_row_number = 6 @@ -317,7 +317,7 @@ def generate_excel(report, current_row_number += 1 - ##################################### + #################################################################################################################### has_values_data = True has_timestamps_data = True @@ -408,7 +408,7 @@ def generate_excel(report, format_time_width_number = 1.0 min_len_number = 1.0 - min_width_number = 11.0 # format_time_width_number * min_len_number + 4 and min_width_number > 11.0 + min_width_number = 11.0 if period_type == 'hourly': format_time_width_number = 4.0 @@ -451,7 +451,7 @@ def generate_excel(report, chart_cell = chart_col + str(chart_start_row_number + 6 * i) ws.add_chart(line, chart_cell) - ########################################## + #################################################################################################################### has_parameters_names_and_timestamps_and_values_data = True ca_len = len(report['reporting_period']['names']) @@ -471,15 +471,16 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -504,7 +505,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -538,7 +538,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -589,12 +589,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -611,7 +611,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) diff --git a/myems-api/excelexporters/shopfloorload.py b/myems-api/excelexporters/shopfloorload.py index 8b6e8806..5ba01f90 100644 --- a/myems-api/excelexporters/shopfloorload.py +++ b/myems-api/excelexporters/shopfloorload.py @@ -12,12 +12,12 @@ from openpyxl import Workbook import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -67,6 +67,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "ShopFloorLoad" # Row height ws.row_dimensions[1].height = 102 @@ -84,7 +85,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - # data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -117,7 +117,6 @@ def generate_excel(report, # Img img = Image("excelexporters/myems.png") - # img = Image("myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 ws.add_image(img, 'B1') @@ -154,12 +153,12 @@ def generate_excel(report, wb.save(filename) return filename - ################################################# + #################################################################################################################### # First: 统计分析 # 6: title # 7: table title # 8~ca_len table_data - ################################################# + #################################################################################################################### reporting_period_data = report['reporting_period'] has_energy_data_flag = True @@ -255,12 +254,12 @@ def generate_excel(report, if reporting_period_data['factors_increment_rate'][i] is not None else '0.00%' ws['E' + str(row + 1)].border = f_border - ################################################# + #################################################################################################################### # Second: 报告期单位面积消耗 # 9 + ca_len * 2: title # 10 + ca_len * 2: table title # per_unit_area_start_row_number + 2 ~ per_unit_area_start_row_number + 2 + ca_len : table_data - ################################################# + #################################################################################################################### if has_energy_data_flag: names = reporting_period_data['names'] @@ -315,12 +314,12 @@ def generate_excel(report, ws['D' + str(row_data)].border = f_border ws['D' + str(row_data)].number_format = '0.00' - ######################################################## + #################################################################################################################### # Third: 详细数据 # analysis_end_row_number~ analysis_end_row_number + 6*cal_len: line # detailed_start_row_number: table title # detailed_start_row_number + 1~: table_data - ######################################################## + #################################################################################################################### has_timestamps_flag = True if "timestamps" not in reporting_period_data.keys() or \ reporting_period_data['timestamps'] is None or \ @@ -393,11 +392,11 @@ def generate_excel(report, ws[col_maximum + str(rows)].number_format = '0.00' ws[col_maximum + str(rows)].border = f_border - ######################################################## + #################################################################################################################### # third: LineChart # LineChart requires data from the detailed data table in the Excel file # so print the detailed data table first and then print LineChart - ######################################################## + #################################################################################################################### for i in range(0, ca_len): line = LineChart() line.title = "报告期 最大负荷 - " + names[i] + "(" + reporting_period_data['units'][i] + ")" @@ -424,7 +423,7 @@ def generate_excel(report, chart_cell = str(analysis_end_row_number + 6 * i) ws.add_chart(line, chart_col + chart_cell) - ########################################## + #################################################################################################################### has_parameters_names_and_timestamps_and_values_data = True ca_len = len(report['reporting_period']['names']) @@ -444,15 +443,16 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -477,7 +477,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -511,7 +510,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -562,12 +561,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -584,7 +583,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) diff --git a/myems-api/excelexporters/shopfloorsaving.py b/myems-api/excelexporters/shopfloorsaving.py index 9ad487db..b83f4811 100644 --- a/myems-api/excelexporters/shopfloorsaving.py +++ b/myems-api/excelexporters/shopfloorsaving.py @@ -69,6 +69,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "ShopFloorSaving" # Row height ws.row_dimensions[1].height = 102 @@ -86,7 +87,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -116,18 +116,11 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -165,7 +158,7 @@ def generate_excel(report, return filename - ################################## + #################################################################################################################### current_row_number = 6 @@ -459,7 +452,7 @@ def generate_excel(report, s1.dLbls.showPercent = True ws.add_chart(pie, 'E' + str(chart_start_row_number)) - ############################################# + #################################################################################################################### has_values_saving_data = True has_timestamps_data = True @@ -551,7 +544,7 @@ def generate_excel(report, format_time_width_number = 1.0 min_len_number = 1.0 - min_width_number = 11.0 # format_time_width_number * min_len_number + 4 and min_width_number > 11.0 + min_width_number = 11.0 if period_type == 'hourly': format_time_width_number = 4.0 @@ -614,15 +607,16 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -681,7 +675,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -732,12 +726,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -754,7 +748,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) diff --git a/myems-api/excelexporters/shopfloorstatistics.py b/myems-api/excelexporters/shopfloorstatistics.py index 0ac147c2..43e925a9 100644 --- a/myems-api/excelexporters/shopfloorstatistics.py +++ b/myems-api/excelexporters/shopfloorstatistics.py @@ -11,12 +11,12 @@ from openpyxl.drawing.image import Image from openpyxl import Workbook import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -67,6 +67,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "ShopFloorStatistics" # Row height ws.row_dimensions[1].height = 102 @@ -117,7 +118,6 @@ def generate_excel(report, # Img img = Image("excelexporters/myems.png") - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -152,12 +152,12 @@ def generate_excel(report, wb.save(filename) return filename - ################################################# + #################################################################################################################### # First: 统计分析 # 6: title # 7: table title # 8~ca_len table_data - ################################################# + #################################################################################################################### reporting_period_data = report['reporting_period'] has_energy_data_flag = True @@ -306,12 +306,12 @@ def generate_excel(report, ws['H' + str(row + 1)] = str(round(reporting_period_data['variances_increment_rate'][i] * 100, 2)) + "%" \ if reporting_period_data['variances_increment_rate'][i] is not None else '0.00%' ws['H' + str(row + 1)].border = f_border - ################################################# + #################################################################################################################### # Second: 报告期消耗 # 9 + ca_len * 2: title # 10 + ca_len * 2: table title # per_unit_area_start_row_number + 2 ~ per_unit_area_start_row_number + 2 + ca_len : table_data - ################################################# + #################################################################################################################### if has_energy_data_flag: names = reporting_period_data['names'] @@ -419,12 +419,12 @@ def generate_excel(report, ws['H' + str(row_data)].border = f_border ws['H' + str(row_data)].number_format = '0.00' - ######################################################## + #################################################################################################################### # Third: 详细数据 # detailed_start_row_number~ detailed_start_row_number+time_len: line # detailed_start_row_number+1: table title # i + analysis_end_row_number + 2 + 6 * ca_len~: table_data - ######################################################## + #################################################################################################################### has_timestamps_flag = True if "timestamps" not in reporting_period_data.keys() or \ reporting_period_data['timestamps'] is None or \ @@ -498,11 +498,11 @@ def generate_excel(report, ws[col + str(row_subtotals)].border = f_border ws[col + str(row_subtotals)].number_format = '0.00' - ######################################################## + #################################################################################################################### # third: LineChart # LineChart requires data from the detailed data table in the Excel file # so print the detailed data table first and then print LineChart - ######################################################## + #################################################################################################################### for i in range(0, ca_len): line = LineChart() @@ -529,7 +529,7 @@ def generate_excel(report, chart_cell = str(analysis_end_row_number + 6 * i) ws.add_chart(line, chart_col + chart_cell) - ########################################## + #################################################################################################################### has_parameters_names_and_timestamps_and_values_data = True ca_len = len(report['reporting_period']['names']) @@ -549,15 +549,16 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -582,7 +583,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -616,7 +616,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -667,12 +667,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -689,7 +689,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) diff --git a/myems-api/excelexporters/spacecost.py b/myems-api/excelexporters/spacecost.py index 40bbe4d5..ccbf31e5 100644 --- a/myems-api/excelexporters/spacecost.py +++ b/myems-api/excelexporters/spacecost.py @@ -14,12 +14,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -70,6 +70,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "SpaceCost" # Row height ws.row_dimensions[1].height = 102 @@ -87,7 +88,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -117,18 +117,11 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -166,7 +159,7 @@ def generate_excel(report, return filename - ################################## + #################################################################################################################### reporting_period_data = report['reporting_period'] @@ -258,7 +251,7 @@ def generate_excel(report, for i in range(6, 10 + 1): ws.row_dimensions[i].height = 0.1 - ############################## + #################################################################################################################### has_ele_peak_flag = True if "toppeaks" not in reporting_period_data.keys() or \ @@ -342,7 +335,7 @@ def generate_excel(report, for i in range(12, 18 + 1): ws.row_dimensions[i].height = 0.1 - ################################## + #################################################################################################################### current_row_number = 19 @@ -412,7 +405,7 @@ def generate_excel(report, current_row_number += 1 - ##################################### + #################################################################################################################### reporting_period_data = report['reporting_period'] times = reporting_period_data['timestamps'] @@ -540,7 +533,7 @@ def generate_excel(report, current_row_number = current_end_row_number - ######################################## + #################################################################################################################### has_child_flag = True @@ -648,7 +641,7 @@ def generate_excel(report, current_row_number += 5 current_row_number += 1 - ########################################## + #################################################################################################################### current_sheet_parameters_row_number = table_start_draw_flag + ca_len * 6 + 1 has_parameters_names_and_timestamps_and_values_data = True if 'parameters' not in report.keys() or \ @@ -666,14 +659,15 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -698,7 +692,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -732,7 +725,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -783,12 +776,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -805,7 +798,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) @@ -831,7 +824,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/spaceefficiency.py b/myems-api/excelexporters/spaceefficiency.py index d66225e8..4f860aab 100644 --- a/myems-api/excelexporters/spaceefficiency.py +++ b/myems-api/excelexporters/spaceefficiency.py @@ -14,12 +14,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -70,6 +70,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "SpaceEfficiency" # Row height ws.row_dimensions[1].height = 102 @@ -87,7 +88,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -117,17 +117,10 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -166,7 +159,7 @@ def generate_excel(report, return filename - ################################## + #################################################################################################################### current_row_number = 6 @@ -243,7 +236,7 @@ def generate_excel(report, current_row_number += 2 - ##################################### + #################################################################################################################### has_parameters_names_and_timestamps_and_values_data = True current_sheet_parameters_row_number = current_row_number @@ -263,7 +256,7 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False - ##################################### + #################################################################################################################### has_values_data = True has_timestamps_data = True @@ -362,7 +355,7 @@ def generate_excel(report, format_time_width_number = 1.0 min_len_number = 1.0 - min_width_number = 11.0 # format_time_width_number * min_len_number + 4 and min_width_number > 11.0 + min_width_number = 11.0 if period_type == 'hourly': format_time_width_number = 4.0 @@ -406,18 +399,19 @@ def generate_excel(report, chart_start_row_number += 6 ws.add_chart(line, chart_cell) - ##################################################################### + #################################################################################################################### if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -442,7 +436,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -476,7 +469,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -527,12 +520,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -549,7 +542,7 @@ def generate_excel(report, data_col = 3+col_index*3 labels_col = 2+col_index*3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i])+parameters_table_start_row_number)) diff --git a/myems-api/excelexporters/spaceenergycategory.py b/myems-api/excelexporters/spaceenergycategory.py index b078b48c..95ce2b2e 100644 --- a/myems-api/excelexporters/spaceenergycategory.py +++ b/myems-api/excelexporters/spaceenergycategory.py @@ -14,12 +14,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -71,6 +71,7 @@ def generate_excel(report, wb = Workbook() ws = wb.active + ws.title = "SpaceEnergyCategory" # Row height ws.row_dimensions[1].height = 102 @@ -167,7 +168,7 @@ def generate_excel(report, return filename - ################################################# + #################################################################################################################### reporting_period_data = report['reporting_period'] @@ -281,7 +282,7 @@ def generate_excel(report, for i in range(6, 10 + 1): ws.row_dimensions[i].height = 0.1 - ################################################# + #################################################################################################################### has_ele_peak_flag = True if "toppeaks" not in reporting_period_data.keys() or \ @@ -363,7 +364,7 @@ def generate_excel(report, for i in range(12, 18 + 1): ws.row_dimensions[i].height = 0.1 - ################################################ + #################################################################################################################### current_row_number = 19 @@ -432,7 +433,7 @@ def generate_excel(report, current_row_number += 1 - ##################################################### + #################################################################################################################### has_kgco2e_data_flag = True @@ -576,7 +577,6 @@ def generate_excel(report, s1.dLbls.showCatName = False s1.dLbls.showVal = True s1.dLbls.showPercent = True - chart_cell = '' char_col = chr(_col + i*2) chart_cell = char_col + str(chart_start_row_number) @@ -584,7 +584,7 @@ def generate_excel(report, current_row_number += 1 - ############################################### + #################################################################################################################### has_detail_data_flag = True @@ -686,8 +686,7 @@ def generate_excel(report, current_row_number += 2 - - ########################################## + #################################################################################################################### current_sheet_parameters_row_number = table_start_draw_flag + ca_len * 6 + 1 has_parameters_names_and_timestamps_and_values_data = True if 'parameters' not in report.keys() or \ @@ -712,7 +711,8 @@ def generate_excel(report, parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -771,7 +771,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -822,12 +822,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -844,7 +844,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) @@ -870,7 +870,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/spaceenergyitem.py b/myems-api/excelexporters/spaceenergyitem.py index 8d9cdee7..927eb683 100644 --- a/myems-api/excelexporters/spaceenergyitem.py +++ b/myems-api/excelexporters/spaceenergyitem.py @@ -70,6 +70,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "SpaceEnergyItem" # Row height ws.row_dimensions[1].height = 102 @@ -87,7 +88,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -117,12 +117,6 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 @@ -165,7 +159,7 @@ def generate_excel(report, return filename - ################################## + #################################################################################################################### current_row_number = 6 @@ -319,7 +313,7 @@ def generate_excel(report, current_row_number += 1 - ################################### + #################################################################################################################### has_values_data = True has_timestamps_data = True @@ -406,7 +400,7 @@ def generate_excel(report, format_time_width_number = 1.0 min_len_number = 1.0 - min_width_number = 11.0 # format_time_width_number * min_len_number + 4 and min_width_number > 11.0 + min_width_number = 11.0 if period_type == 'hourly': format_time_width_number = 4.0 @@ -450,7 +444,7 @@ def generate_excel(report, chart_start_row_number += 6 ws.add_chart(line, chart_cell) - ##################################### + #################################################################################################################### has_child_flag = True @@ -540,7 +534,7 @@ def generate_excel(report, current_row_number += 5 current_row_number += 1 - ########################################## + #################################################################################################################### current_sheet_parameters_row_number = chart_start_row_number + 1 has_parameters_names_and_timestamps_and_values_data = True if 'parameters' not in report.keys() or \ @@ -558,14 +552,15 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -590,7 +585,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -624,7 +618,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -675,12 +669,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -697,7 +691,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) @@ -723,7 +717,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/spaceincome.py b/myems-api/excelexporters/spaceincome.py index 83e205bb..b2d280bd 100644 --- a/myems-api/excelexporters/spaceincome.py +++ b/myems-api/excelexporters/spaceincome.py @@ -71,6 +71,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "SpaceIncome" # Row height ws.row_dimensions[1].height = 102 @@ -88,7 +89,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -118,18 +118,11 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -167,7 +160,7 @@ def generate_excel(report, return filename - ################################## + #################################################################################################################### reporting_period_data = report['reporting_period'] @@ -257,7 +250,7 @@ def generate_excel(report, else: for i in range(6, 9 + 1): ws.row_dimensions[i].height = 0.1 - ################################## + #################################################################################################################### current_row_number = 11 has_subtotals_data_flag = True if "subtotals" not in reporting_period_data.keys() or \ @@ -339,7 +332,7 @@ def generate_excel(report, current_row_number += 1 - ################################################# + #################################################################################################################### reporting_period_data = report['reporting_period'] times = reporting_period_data['timestamps'] @@ -469,7 +462,7 @@ def generate_excel(report, current_row_number = current_end_row_number - ################################## + #################################################################################################################### has_child_flag = True @@ -580,7 +573,7 @@ def generate_excel(report, current_row_number += 1 - ############################################# + #################################################################################################################### current_sheet_parameters_row_number = table_start_draw_flag + ca_len * 6 + 1 has_parameters_names_and_timestamps_and_values_data = True if 'parameters' not in report.keys() or \ @@ -598,14 +591,15 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -630,7 +624,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -664,7 +657,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -715,12 +708,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -737,7 +730,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) @@ -763,7 +756,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/spaceload.py b/myems-api/excelexporters/spaceload.py index 48425220..a1cce7f3 100644 --- a/myems-api/excelexporters/spaceload.py +++ b/myems-api/excelexporters/spaceload.py @@ -14,12 +14,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -68,7 +68,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d # todo ws = wb.active - + ws.title = "SpaceLoad" # Row height ws.row_dimensions[1].height = 102 for i in range(2, 2000 + 1): @@ -85,7 +85,6 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -115,18 +114,11 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -163,7 +155,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d return filename - ############################### + #################################################################################################################### has_names_data_flag = True @@ -488,7 +480,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d line.dLbls.showVal = True ws.add_chart(line, "B" + str(current_chart_row_number)) current_chart_row_number += 6 - ########################################## + #################################################################################################################### current_sheet_parameters_row_number = current_chart_row_number + 1 has_parameters_names_and_timestamps_and_values_data = True if 'parameters' not in report.keys() or \ @@ -506,14 +498,15 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -538,7 +531,6 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -572,7 +564,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -623,12 +615,12 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -645,7 +637,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) @@ -671,7 +663,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/spaceoutput.py b/myems-api/excelexporters/spaceoutput.py index 1114ecad..4df47bc5 100644 --- a/myems-api/excelexporters/spaceoutput.py +++ b/myems-api/excelexporters/spaceoutput.py @@ -14,12 +14,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -70,6 +70,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "SpaceOutput" # Row height ws.row_dimensions[1].height = 102 @@ -87,7 +88,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -117,17 +117,10 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -165,7 +158,7 @@ def generate_excel(report, return filename - ################################## + #################################################################################################################### current_row_number = 6 @@ -258,7 +251,7 @@ def generate_excel(report, current_row_number += 2 - ####################### + #################################################################################################################### has_values_data = True has_timestamps_data = True @@ -345,7 +338,7 @@ def generate_excel(report, format_time_width_number = 1.0 min_len_number = 1.0 - min_width_number = 11.0 # format_time_width_number * min_len_number + 4 and min_width_number > 11.0 + min_width_number = 11.0 if period_type == 'hourly': format_time_width_number = 4.0 @@ -389,7 +382,7 @@ def generate_excel(report, chart_start_row_number += 6 ws.add_chart(line, chart_cell) - ##################################### + #################################################################################################################### has_child_flag = True @@ -476,7 +469,7 @@ def generate_excel(report, current_row_number += 5 current_row_number += 1 - ########################################## + #################################################################################################################### current_sheet_parameters_row_number = chart_start_row_number + 1 has_parameters_names_and_timestamps_and_values_data = True if 'parameters' not in report.keys() or \ @@ -494,14 +487,15 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -526,7 +520,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -560,7 +553,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -611,12 +604,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -633,7 +626,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) @@ -659,7 +652,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/spacesaving.py b/myems-api/excelexporters/spacesaving.py index 1346cd60..d8ecd53c 100644 --- a/myems-api/excelexporters/spacesaving.py +++ b/myems-api/excelexporters/spacesaving.py @@ -14,12 +14,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -70,6 +70,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "SpaceSaving" # Row height ws.row_dimensions[1].height = 102 @@ -87,7 +88,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -117,18 +117,11 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -166,7 +159,7 @@ def generate_excel(report, return filename - ################################## + #################################################################################################################### current_row_number = 6 @@ -460,7 +453,7 @@ def generate_excel(report, s1.dLbls.showPercent = True ws.add_chart(pie, 'E' + str(chart_start_row_number)) - ################################ + #################################################################################################################### has_values_saving_data = True has_timestamps_data = True @@ -547,7 +540,7 @@ def generate_excel(report, format_time_width_number = 1.0 min_len_number = 1.0 - min_width_number = 11.0 # format_time_width_number * min_len_number + 4 and min_width_number > 11.0 + min_width_number = 11.0 if period_type == 'hourly': format_time_width_number = 4.0 @@ -591,7 +584,7 @@ def generate_excel(report, chart_start_row_number += 6 ws.add_chart(line, chart_cell) - ############################################# + #################################################################################################################### has_child_space_data_flag = True @@ -684,7 +677,7 @@ def generate_excel(report, current_row_number += 5 current_row_number += 1 - ########################################## + #################################################################################################################### current_sheet_parameters_row_number = chart_start_row_number + 1 has_parameters_names_and_timestamps_and_values_data = True if 'parameters' not in report.keys() or \ @@ -702,14 +695,15 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -734,7 +728,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -768,7 +761,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -819,12 +812,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -841,7 +834,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) @@ -867,7 +860,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/spacestatistics.py b/myems-api/excelexporters/spacestatistics.py index 5d92d9c0..b88b2637 100644 --- a/myems-api/excelexporters/spacestatistics.py +++ b/myems-api/excelexporters/spacestatistics.py @@ -12,12 +12,12 @@ from openpyxl import Workbook import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -68,6 +68,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "SpaceStatistics" # Row height ws.row_dimensions[1].height = 102 @@ -85,7 +86,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - # data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -118,7 +118,6 @@ def generate_excel(report, # Img img = Image("excelexporters/myems.png") - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -153,12 +152,12 @@ def generate_excel(report, wb.save(filename) return filename - ################################################# + #################################################################################################################### # First: 统计分析 # 6: title # 7: table title # 8~ca_len table_data - ################################################# + #################################################################################################################### reporting_period_data = report['reporting_period'] has_energy_data_flag = True @@ -307,12 +306,12 @@ def generate_excel(report, ws['H' + str(row + 1)] = str(round(reporting_period_data['variances_increment_rate'][i] * 100, 2)) + "%" \ if reporting_period_data['variances_increment_rate'][i] is not None else '0.00%' ws['H' + str(row + 1)].border = f_border - ################################################# + #################################################################################################################### # Second: 报告期消耗 # 9 + ca_len * 2: title # 10 + ca_len * 2: table title # per_unit_area_start_row_number + 2 ~ per_unit_area_start_row_number + 2 + ca_len : table_data - ################################################# + #################################################################################################################### if has_energy_data_flag: names = reporting_period_data['names'] @@ -422,12 +421,12 @@ def generate_excel(report, ws['H' + str(row_data)].border = f_border ws['H' + str(row_data)].number_format = '0.00' - ######################################################## + #################################################################################################################### # Third: 详细数据 # analysis_end_row_number~ analysis_end_row_number+time_len: line # analysis_end_row_number+1+line_charts_row_number: table title # i + analysis_end_row_number + 2 + 10 * ca_len~: table_data - ######################################################## + #################################################################################################################### has_timestamps_flag = True if "timestamps" not in reporting_period_data.keys() or \ reporting_period_data['timestamps'] is None or \ @@ -496,11 +495,11 @@ def generate_excel(report, ws[col + str(row_subtotals)].border = f_border ws[col + str(row_subtotals)].number_format = '0.00' - ######################################################## + #################################################################################################################### # third: LineChart # LineChart requires data from the detailed data table in the Excel file # so print the detailed data table first and then print LineChart - ######################################################## + #################################################################################################################### for i in range(0, ca_len): line = LineChart() @@ -525,7 +524,7 @@ def generate_excel(report, ser.marker.symbol = "diamond" ser.marker.size = 5 ws.add_chart(line, 'B' + str(analysis_end_row_number + 6 * i)) - ########################################## + #################################################################################################################### current_sheet_parameters_row_number = analysis_end_row_number + ca_len * 6 + 1 has_parameters_names_and_timestamps_and_values_data = True if 'parameters' not in report.keys() or \ @@ -543,14 +542,15 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -575,7 +575,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -609,7 +608,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -660,12 +659,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -682,7 +681,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) @@ -708,7 +707,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/storebatch.py b/myems-api/excelexporters/storebatch.py index e2b2f71d..b3c2e6a1 100644 --- a/myems-api/excelexporters/storebatch.py +++ b/myems-api/excelexporters/storebatch.py @@ -6,12 +6,12 @@ from openpyxl.drawing.image import Image from openpyxl import Workbook -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excelexporters file # Step 3: Encode the excelexporters file to Base64 -#################################################################################################################### +######################################################################################################################## def export(result, space_name, reporting_start_datetime_local, reporting_end_datetime_local): #################################################################################################################### @@ -52,6 +52,7 @@ def generate_excel(report, space_name, reporting_start_datetime_local, reporting wb = Workbook() ws = wb.active + ws.title = "StoreBatch" # Row height ws.row_dimensions[1].height = 102 @@ -102,12 +103,6 @@ def generate_excel(report, space_name, reporting_start_datetime_local, reporting wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") diff --git a/myems-api/excelexporters/storecost.py b/myems-api/excelexporters/storecost.py index 37fbf883..8948f31a 100644 --- a/myems-api/excelexporters/storecost.py +++ b/myems-api/excelexporters/storecost.py @@ -13,12 +13,12 @@ from openpyxl import Workbook from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -70,6 +70,7 @@ def generate_excel(report, wb = Workbook() ws = wb.active + ws.title = "StoreCost" # Row height ws.row_dimensions[1].height = 118 @@ -87,7 +88,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -117,15 +117,8 @@ def generate_excel(report, wrap_text=False, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=False, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -163,7 +156,7 @@ def generate_excel(report, return filename - ################################################# + #################################################################################################################### reporting_period_data = report['reporting_period'] @@ -250,7 +243,7 @@ def generate_excel(report, for i in range(6, 10 + 1): ws.row_dimensions[i].height = 0.1 - ################################################# + #################################################################################################################### has_ele_peak_flag = True if "toppeaks" not in reporting_period_data.keys() or \ @@ -331,7 +324,7 @@ def generate_excel(report, for i in range(12, 18 + 1): ws.row_dimensions[i].height = 0.1 - ################################################ + #################################################################################################################### current_row_number = 19 @@ -402,7 +395,7 @@ def generate_excel(report, current_row_number = 30 ws.row_dimensions[i].height = 0.1 - ############################################### + #################################################################################################################### has_detail_data_flag = True @@ -505,7 +498,7 @@ def generate_excel(report, format_time_width_number = 1.0 min_len_number = 1.0 - min_width_number = 11.0 # format_time_width_number * min_len_number + 4 and min_width_number > 11.0 + min_width_number = 11.0 if period_type == 'hourly': format_time_width_number = 4.0 @@ -569,7 +562,7 @@ def generate_excel(report, current_row_number = 70 ws.row_dimensions[i].height = 0.1 - ########################################## + #################################################################################################################### has_parameters_names_and_timestamps_and_values_data = True ca_len = len(report['reporting_period']['names']) @@ -589,15 +582,16 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -622,7 +616,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -656,7 +649,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -707,12 +700,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -729,7 +722,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) diff --git a/myems-api/excelexporters/storeenergycategory.py b/myems-api/excelexporters/storeenergycategory.py index 85687a50..e35fb6e5 100644 --- a/myems-api/excelexporters/storeenergycategory.py +++ b/myems-api/excelexporters/storeenergycategory.py @@ -12,12 +12,12 @@ from openpyxl import Workbook from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -69,6 +69,7 @@ def generate_excel(report, wb = Workbook() ws = wb.active + ws.title = "StoreEnergyCategory" # Row height ws.row_dimensions[1].height = 102 @@ -87,7 +88,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -117,16 +117,9 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") - # img = Image("myems.png") img.width = img.width * 1.06 img.height = img.height * 1.06 ws.add_image(img, 'B1') @@ -165,14 +158,14 @@ def generate_excel(report, wb.save(filename) return filename - ################################################# + #################################################################################################################### # First: 能耗分析 # 6: title # 7: table title # 8~10 table_data # Total: 5 rows # if has not energy data: set low height for rows - ################################################# + #################################################################################################################### reporting_period_data = report['reporting_period'] has_energy_data_flag = True @@ -287,13 +280,13 @@ def generate_excel(report, else: for i in range(6, 10 + 1): ws.row_dimensions[i].height = 0.1 - ################################################# + #################################################################################################################### # Second: 分时电耗 # 12: title # 13: table title # 14~17 table_data # Total: 6 rows - ################################################ + #################################################################################################################### has_ele_peak_flag = True if "toppeaks" not in reporting_period_data.keys() or \ reporting_period_data['toppeaks'] is None or \ @@ -362,15 +355,13 @@ def generate_excel(report, pie_data = Reference(ws, min_col=3, min_row=13, max_row=17) pie.add_data(pie_data, titles_from_data=True) pie.set_categories(labels) - pie.height = 7.25 # cm 1.05*5 1.05cm = 30 pt + pie.height = 7.25 pie.width = 9 - # pie.title = "Pies sold by category" s1 = pie.series[0] s1.dLbls = DataLabelList() s1.dLbls.showCatName = False # 标签显示 s1.dLbls.showVal = True # 数量显示 s1.dLbls.showPercent = True # 百分比显示 - # s1 = CharacterProperties(sz=1800) # 图表中字体大小 *100 ws.add_chart(pie, "D13") @@ -378,13 +369,13 @@ def generate_excel(report, for i in range(12, 18 + 1): ws.row_dimensions[i].height = 0.1 - ################################################ + #################################################################################################################### # Fourth: 能耗详情 # current_row_number: title # current_row_number+1 ~ current_row_number+1+ca_len*6-1: line # current_row_number+1+ca_len*6: table title # current_row_number+1+ca_len*6~: table_data - ################################################ + #################################################################################################################### current_row_number = 19 reporting_period_data = report['reporting_period'] times = reporting_period_data['timestamps'] @@ -425,7 +416,6 @@ def generate_excel(report, for i in range(0, len(time)): col = 'B' row = str(table_row+1 + i) - # col = chr(ord('B') + i) ws[col + row].font = title_font ws[col + row].alignment = c_c_alignment ws[col + row] = time[i] @@ -448,7 +438,6 @@ def generate_excel(report, for j in range(0, time_len): row = str(table_row+1 + j) - # col = chr(ord('B') + i) ws[col + row].font = title_font ws[col + row].alignment = c_c_alignment ws[col + row] = round(reporting_period_data['values'][i][j], 2) @@ -480,15 +469,12 @@ def generate_excel(report, line_data.marker.symbol = "circle" line_data.smooth = True line.x_axis.crosses = 'min' - line.height = 8.25 # cm 1.05*5 1.05cm = 30 pt + line.height = 8.25 line.width = 24 - # pie.title = "Pies sold by category" line.dLbls = DataLabelList() line.dLbls.dLblPos = 't' - # line.dLbls.showCatName = True # label show line.dLbls.showVal = True # val show line.dLbls.showPercent = True # percent show - # s1 = CharacterProperties(sz=1800) # font size *100 chart_col = 'B' chart_cell = chart_col + str(chart_start_row_number + 6*i) ws.add_chart(line, chart_cell) @@ -514,15 +500,16 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -547,7 +534,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -581,7 +567,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -632,12 +618,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -654,7 +640,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) diff --git a/myems-api/excelexporters/storeenergyitem.py b/myems-api/excelexporters/storeenergyitem.py index 64f570b0..0ac20a0c 100644 --- a/myems-api/excelexporters/storeenergyitem.py +++ b/myems-api/excelexporters/storeenergyitem.py @@ -12,12 +12,12 @@ from openpyxl import Workbook from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -68,6 +68,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "StoreEnergyItem" # Row height ws.row_dimensions[1].height = 102 @@ -85,7 +86,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -115,17 +115,10 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -163,7 +156,7 @@ def generate_excel(report, return filename - ################################## + #################################################################################################################### current_row_number = 6 @@ -317,7 +310,7 @@ def generate_excel(report, current_row_number += 1 - ####################### + #################################################################################################################### has_values_data = True has_timestamps_data = True @@ -408,7 +401,7 @@ def generate_excel(report, format_time_width_number = 1.0 min_len_number = 1.0 - min_width_number = 11.0 # format_time_width_number * min_len_number + 4 and min_width_number > 11.0 + min_width_number = 11.0 if period_type == 'hourly': format_time_width_number = 4.0 @@ -453,7 +446,7 @@ def generate_excel(report, chart_cell = chart_col + str(chart_start_row_number + 6 * i) ws.add_chart(line, chart_cell) - ########################################## + #################################################################################################################### has_parameters_names_and_timestamps_and_values_data = True ca_len = len(report['reporting_period']['names']) @@ -473,15 +466,16 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -506,7 +500,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -540,7 +533,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -591,12 +584,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -613,7 +606,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) diff --git a/myems-api/excelexporters/storeload.py b/myems-api/excelexporters/storeload.py index b997d04c..5de1bb93 100644 --- a/myems-api/excelexporters/storeload.py +++ b/myems-api/excelexporters/storeload.py @@ -12,12 +12,12 @@ from openpyxl import Workbook import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -67,6 +67,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "StoreLoad" # Row height ws.row_dimensions[1].height = 102 @@ -84,7 +85,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - # data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -117,7 +117,6 @@ def generate_excel(report, # Img img = Image("excelexporters/myems.png") - # img = Image("myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 ws.add_image(img, 'B1') @@ -154,12 +153,12 @@ def generate_excel(report, wb.save(filename) return filename - ################################################# + #################################################################################################################### # First: 统计分析 # 6: title # 7: table title # 8~ca_len table_data - ################################################# + #################################################################################################################### reporting_period_data = report['reporting_period'] has_energy_data_flag = True @@ -255,12 +254,12 @@ def generate_excel(report, if reporting_period_data['factors_increment_rate'][i] is not None else '0.00%' ws['E' + str(row + 1)].border = f_border - ################################################# + #################################################################################################################### # Second: 报告期单位面积消耗 # 9 + ca_len * 2: title # 10 + ca_len * 2: table title # per_unit_area_start_row_number + 2 ~ per_unit_area_start_row_number + 2 + ca_len : table_data - ################################################# + #################################################################################################################### if has_energy_data_flag: names = reporting_period_data['names'] @@ -315,12 +314,12 @@ def generate_excel(report, ws['D' + str(row_data)].border = f_border ws['D' + str(row_data)].number_format = '0.00' - ######################################################## + #################################################################################################################### # Third: 详细数据 # analysis_end_row_number~ analysis_end_row_number + 6*cal_len: line # detailed_start_row_number: table title # detailed_start_row_number + 1~: table_data - ######################################################## + #################################################################################################################### has_timestamps_flag = True if "timestamps" not in reporting_period_data.keys() or \ reporting_period_data['timestamps'] is None or \ @@ -394,11 +393,11 @@ def generate_excel(report, ws[col_maximum + str(rows)].border = f_border current_row_number += 1 - ######################################################## + ################################################################################################################ # third: LineChart # LineChart requires data from the detailed data table in the Excel file # so print the detailed data table first and then print LineChart - ######################################################## + ################################################################################################################ for i in range(0, ca_len): line = LineChart() line.title = "报告期 最大负荷 - " + names[i] + "(" + reporting_period_data['units'][i] + ")" @@ -422,7 +421,7 @@ def generate_excel(report, chart_cell = str(current_row_number + 6 * i) ws.add_chart(line, chart_col + chart_cell) - ########################################## + #################################################################################################################### has_parameters_names_and_timestamps_and_values_data = True ca_len = len(report['reporting_period']['names']) @@ -442,15 +441,16 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -475,7 +475,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -509,7 +508,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -560,12 +559,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -582,7 +581,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) diff --git a/myems-api/excelexporters/storesaving.py b/myems-api/excelexporters/storesaving.py index 9ad487db..5bd56efb 100644 --- a/myems-api/excelexporters/storesaving.py +++ b/myems-api/excelexporters/storesaving.py @@ -13,12 +13,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -69,6 +69,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "StoreSaving" # Row height ws.row_dimensions[1].height = 102 @@ -86,7 +87,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -116,18 +116,11 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -165,7 +158,7 @@ def generate_excel(report, return filename - ################################## + #################################################################################################################### current_row_number = 6 @@ -459,7 +452,7 @@ def generate_excel(report, s1.dLbls.showPercent = True ws.add_chart(pie, 'E' + str(chart_start_row_number)) - ############################################# + #################################################################################################################### has_values_saving_data = True has_timestamps_data = True @@ -551,7 +544,7 @@ def generate_excel(report, format_time_width_number = 1.0 min_len_number = 1.0 - min_width_number = 11.0 # format_time_width_number * min_len_number + 4 and min_width_number > 11.0 + min_width_number = 11.0 if period_type == 'hourly': format_time_width_number = 4.0 @@ -594,7 +587,7 @@ def generate_excel(report, chart_cell = chart_col + str(chart_start_row_number + 6 * i) ws.add_chart(line, chart_cell) - ########################################## + #################################################################################################################### has_parameters_names_and_timestamps_and_values_data = True ca_len = len(report['reporting_period']['names']) @@ -614,15 +607,16 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -647,7 +641,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -681,7 +674,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -732,12 +725,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -754,7 +747,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) diff --git a/myems-api/excelexporters/storestatistics.py b/myems-api/excelexporters/storestatistics.py index f8a32203..76cc1bb9 100644 --- a/myems-api/excelexporters/storestatistics.py +++ b/myems-api/excelexporters/storestatistics.py @@ -12,12 +12,12 @@ from openpyxl.drawing.image import Image from openpyxl.styles import PatternFill, Border, Side, Alignment, Font import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -68,6 +68,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "StoreStatistics" # Row height ws.row_dimensions[1].height = 102 @@ -85,7 +86,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - # data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -118,7 +118,6 @@ def generate_excel(report, # Img img = Image("excelexporters/myems.png") - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -153,12 +152,12 @@ def generate_excel(report, wb.save(filename) return filename - ################################################# + #################################################################################################################### # First: 统计分析 # 6: title # 7: table title # 8~ca_len table_data - ################################################# + #################################################################################################################### reporting_period_data = report['reporting_period'] has_energy_data_flag = True @@ -307,12 +306,12 @@ def generate_excel(report, ws['H' + str(row + 1)] = str(round(reporting_period_data['variances_increment_rate'][i] * 100, 2)) + "%" \ if reporting_period_data['variances_increment_rate'][i] is not None else '0.00%' ws['H' + str(row + 1)].border = f_border - ################################################# + #################################################################################################################### # Second: 报告期消耗 # 9 + ca_len * 2: title # 10 + ca_len * 2: table title # per_unit_area_start_row_number + 2 ~ per_unit_area_start_row_number + 2 + ca_len : table_data - ################################################# + #################################################################################################################### if has_energy_data_flag: names = reporting_period_data['names'] @@ -420,12 +419,12 @@ def generate_excel(report, ws['H' + str(row_data)].border = f_border ws['H' + str(row_data)].number_format = '0.00' - ######################################################## + #################################################################################################################### # Third: 详细数据 # detailed_start_row_number~ detailed_start_row_number+time_len: line # detailed_start_row_number+1: table title # i + analysis_end_row_number + 2 + 6 * ca_len~: table_data - ######################################################## + #################################################################################################################### has_timestamps_flag = True if "timestamps" not in reporting_period_data.keys() or \ reporting_period_data['timestamps'] is None or \ @@ -501,11 +500,11 @@ def generate_excel(report, ws[col + str(row_subtotals)].border = f_border ws[col + str(row_subtotals)].number_format = '0.00' - ######################################################## + #################################################################################################################### # third: LineChart # LineChart requires data from the detailed data table in the Excel file # so print the detailed data table first and then print LineChart - ######################################################## + #################################################################################################################### for i in range(0, ca_len): line = LineChart() line.title = "报告期消耗" + " - " + names[i] + "(" + reporting_period_data['units'][i] + ")" @@ -530,7 +529,7 @@ def generate_excel(report, ser.marker.size = 5 ws.add_chart(line, 'B' + str(current_row_number + 6 * i)) - ########################################## + #################################################################################################################### has_parameters_names_and_timestamps_and_values_data = True ca_len = len(report['reporting_period']['names']) @@ -550,15 +549,16 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -583,7 +583,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -617,7 +616,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -668,12 +667,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -690,7 +689,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) diff --git a/myems-api/excelexporters/tenantbatch.py b/myems-api/excelexporters/tenantbatch.py index 5eb987a7..65430b3b 100644 --- a/myems-api/excelexporters/tenantbatch.py +++ b/myems-api/excelexporters/tenantbatch.py @@ -6,12 +6,12 @@ from openpyxl.drawing.image import Image from openpyxl import Workbook -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excelexporters file # Step 3: Encode the excelexporters file to Base64 -#################################################################################################################### +######################################################################################################################## def export(result, space_name, reporting_start_datetime_local, reporting_end_datetime_local): #################################################################################################################### @@ -52,6 +52,7 @@ def generate_excel(report, space_name, reporting_start_datetime_local, reporting wb = Workbook() ws = wb.active + ws.title = "TenantBatch" # Row height ws.row_dimensions[1].height = 102 @@ -102,12 +103,6 @@ def generate_excel(report, space_name, reporting_start_datetime_local, reporting wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") diff --git a/myems-api/excelexporters/tenantbill.py b/myems-api/excelexporters/tenantbill.py index e5627b1e..87794946 100644 --- a/myems-api/excelexporters/tenantbill.py +++ b/myems-api/excelexporters/tenantbill.py @@ -14,12 +14,12 @@ from openpyxl import Workbook from openpyxl.chart.label import DataLabelList -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -70,6 +70,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "TenantBill" # Row height for i in range(1, 11 + 1): @@ -118,12 +119,6 @@ def generate_excel(report, bottom=Side(border_style='medium', color='00000000'), ) - b_c_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=False, - shrink_to_fit=False, - indent=0) c_c_alignment = Alignment(vertical='center', horizontal='center', text_rotation=0, @@ -136,12 +131,6 @@ def generate_excel(report, wrap_text=False, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=False, - shrink_to_fit=False, - indent=0) b_l_alignment = Alignment(vertical='bottom', horizontal='left', text_rotation=0, diff --git a/myems-api/excelexporters/tenantcost.py b/myems-api/excelexporters/tenantcost.py index 8f94a588..f5e5784e 100644 --- a/myems-api/excelexporters/tenantcost.py +++ b/myems-api/excelexporters/tenantcost.py @@ -14,12 +14,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -71,18 +71,13 @@ def generate_excel(report, wb = Workbook() ws = wb.active + ws.title = "TenantCost" # Row height ws.row_dimensions[1].height = 102 for i in range(2, 2000 + 1): ws.row_dimensions[i].height = 42 - # for i in range(2, 37 + 1): - # ws.row_dimensions[i].height = 30 - # - # for i in range(38, 90 + 1): - # ws.row_dimensions[i].height = 30 - # Col width ws.column_dimensions['A'].width = 1.5 @@ -94,7 +89,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -124,18 +118,11 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -172,7 +159,7 @@ def generate_excel(report, return filename - ################################################# + #################################################################################################################### reporting_period_data = report['reporting_period'] @@ -261,7 +248,7 @@ def generate_excel(report, for i in range(6, 10 + 1): ws.row_dimensions[i].height = 0.1 - ################################################# + #################################################################################################################### has_ele_peak_flag = True if "toppeaks" not in reporting_period_data.keys() or \ @@ -343,7 +330,7 @@ def generate_excel(report, for i in range(12, 18 + 1): ws.row_dimensions[i].height = 0.1 - ################################################ + #################################################################################################################### current_row_number = 19 @@ -415,7 +402,7 @@ def generate_excel(report, current_row_number = 30 ws.row_dimensions[i].height = 0.1 - ############################################### + #################################################################################################################### current_row_number += 1 @@ -553,7 +540,7 @@ def generate_excel(report, for i in range(30, 69 + 1): current_row_number = 70 ws.row_dimensions[i].height = 0.1 - ########################################## + #################################################################################################################### current_sheet_parameters_row_number = table_start_draw_flag + ca_len * 6 + 1 has_parameters_names_and_timestamps_and_values_data = True if 'parameters' not in report.keys() or \ @@ -571,14 +558,15 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -603,7 +591,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -637,7 +624,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -688,12 +675,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -710,7 +697,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) @@ -736,7 +723,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/tenantenergycategory.py b/myems-api/excelexporters/tenantenergycategory.py index 3a2e684d..af30eb05 100644 --- a/myems-api/excelexporters/tenantenergycategory.py +++ b/myems-api/excelexporters/tenantenergycategory.py @@ -14,12 +14,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -71,16 +71,12 @@ def generate_excel(report, wb = Workbook() ws = wb.active + ws.title = "TenantEnergyCategory" # Row height ws.row_dimensions[1].height = 102 for i in range(2, 2000 + 1): ws.row_dimensions[i].height = 42 - # for i in range(2, 37 + 1): - # ws.row_dimensions[i].height = 30 - # - # for i in range(38, 90 + 1): - # ws.row_dimensions[i].height = 30 # Col width ws.column_dimensions['A'].width = 1.5 @@ -93,7 +89,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -123,18 +118,11 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -172,7 +160,7 @@ def generate_excel(report, return filename - ################################################# + #################################################################################################################### reporting_period_data = report['reporting_period'] @@ -286,7 +274,7 @@ def generate_excel(report, for i in range(6, 10 + 1): ws.row_dimensions[i].height = 0.1 - ################################################# + #################################################################################################################### has_ele_peak_flag = True if "toppeaks" not in reporting_period_data.keys() or \ @@ -368,7 +356,7 @@ def generate_excel(report, for i in range(12, 18 + 1): ws.row_dimensions[i].height = 0.1 - ################################################ + #################################################################################################################### current_row_number = 19 @@ -440,7 +428,7 @@ def generate_excel(report, current_row_number = 30 ws.row_dimensions[i].height = 0.1 - ##################################################### + #################################################################################################################### current_row_number += 1 has_kgco2e_data_flag = True @@ -511,7 +499,7 @@ def generate_excel(report, current_row_number = 40 ws.row_dimensions[i].height = 0.1 - ############################################### + #################################################################################################################### current_row_number += 1 has_detail_data_flag = True @@ -618,7 +606,7 @@ def generate_excel(report, for i in range(40, 69 + 1): current_row_number = 70 ws.row_dimensions[i].height = 0.1 - ########################################## + #################################################################################################################### current_sheet_parameters_row_number = table_start_draw_flag + ca_len * 6 + 1 has_parameters_names_and_timestamps_and_values_data = True if 'parameters' not in report.keys() or \ @@ -643,7 +631,8 @@ def generate_excel(report, parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -668,7 +657,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -702,7 +690,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -753,12 +741,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -775,7 +763,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) @@ -801,7 +789,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/tenantenergyitem.py b/myems-api/excelexporters/tenantenergyitem.py index bd990495..34523cad 100644 --- a/myems-api/excelexporters/tenantenergyitem.py +++ b/myems-api/excelexporters/tenantenergyitem.py @@ -14,12 +14,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -70,6 +70,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "TenantEnergyItem" # Row height ws.row_dimensions[1].height = 102 @@ -87,7 +88,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -117,17 +117,10 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -165,7 +158,7 @@ def generate_excel(report, return filename - ################################## + #################################################################################################################### current_row_number = 6 @@ -319,7 +312,7 @@ def generate_excel(report, current_row_number += 1 - ####################### + #################################################################################################################### has_values_data = True has_timestamps_data = True @@ -406,7 +399,7 @@ def generate_excel(report, format_time_width_number = 1.0 min_len_number = 1.0 - min_width_number = 11.0 # format_time_width_number * min_len_number + 4 and min_width_number > 11.0 + min_width_number = 11.0 if period_type == 'hourly': format_time_width_number = 4.0 @@ -449,7 +442,7 @@ def generate_excel(report, chart_cell = chart_col + str(chart_start_row_number) chart_start_row_number += 6 ws.add_chart(line, chart_cell) - ########################################## + #################################################################################################################### current_sheet_parameters_row_number = chart_start_row_number + 1 has_parameters_names_and_timestamps_and_values_data = True if 'parameters' not in report.keys() or \ @@ -467,14 +460,14 @@ def generate_excel(report, has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -499,7 +492,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -533,7 +525,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -584,12 +576,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -606,7 +598,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) @@ -632,7 +624,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/tenantload.py b/myems-api/excelexporters/tenantload.py index 0b6f1357..0cdbb565 100644 --- a/myems-api/excelexporters/tenantload.py +++ b/myems-api/excelexporters/tenantload.py @@ -14,12 +14,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -68,7 +68,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d # todo ws = wb.active - + ws.title = "TenantLoad" # Row height ws.row_dimensions[1].height = 102 for i in range(2, 2000 + 1): @@ -85,7 +85,6 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -115,18 +114,11 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -163,7 +155,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d return filename - ############################### + #################################################################################################################### has_names_data_flag = True @@ -490,7 +482,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d ws.add_chart(line, "B" + str(current_chart_row_number)) current_chart_row_number += 6 current_chart_col_number += 1 - ########################################## + #################################################################################################################### current_sheet_parameters_row_number = current_chart_row_number + 1 has_parameters_names_and_timestamps_and_values_data = True if 'parameters' not in report.keys() or \ @@ -508,14 +500,15 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d has_parameters_names_and_timestamps_and_values_data = False if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -540,7 +533,6 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -574,7 +566,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -625,12 +617,12 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -647,7 +639,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) @@ -673,7 +665,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/tenantsaving.py b/myems-api/excelexporters/tenantsaving.py index efbff5f5..fb14c98f 100644 --- a/myems-api/excelexporters/tenantsaving.py +++ b/myems-api/excelexporters/tenantsaving.py @@ -14,12 +14,12 @@ from openpyxl.chart.label import DataLabelList import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -70,6 +70,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "TenantSaving" # Row height ws.row_dimensions[1].height = 102 @@ -87,7 +88,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -117,18 +117,11 @@ def generate_excel(report, wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -166,7 +159,7 @@ def generate_excel(report, return filename - ################################## + #################################################################################################################### current_row_number = 6 @@ -460,7 +453,7 @@ def generate_excel(report, s1.dLbls.showPercent = True ws.add_chart(pie, 'E' + str(chart_start_row_number)) - ############################################# + #################################################################################################################### has_values_saving_data = True has_timestamps_data = True @@ -547,7 +540,7 @@ def generate_excel(report, format_time_width_number = 1.0 min_len_number = 1.0 - min_width_number = 11.0 # format_time_width_number * min_len_number + 4 and min_width_number > 11.0 + min_width_number = 11.0 if period_type == 'hourly': format_time_width_number = 4.0 @@ -591,7 +584,7 @@ def generate_excel(report, chart_start_row_number += 6 ws.add_chart(line, chart_cell) - ########################################## + #################################################################################################################### current_sheet_parameters_row_number = chart_start_row_number + 1 has_parameters_names_and_timestamps_and_values_data = True if 'parameters' not in report.keys() or \ @@ -610,14 +603,15 @@ def generate_excel(report, if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -642,7 +636,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -676,7 +669,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -727,12 +720,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -749,7 +742,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) @@ -775,7 +768,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/tenantstatistics.py b/myems-api/excelexporters/tenantstatistics.py index d7f34a99..0fe3b89d 100644 --- a/myems-api/excelexporters/tenantstatistics.py +++ b/myems-api/excelexporters/tenantstatistics.py @@ -12,12 +12,12 @@ from openpyxl import Workbook import openpyxl.utils.cell as format_cell -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excel file # Step 3: Encode the excel file bytes to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, @@ -68,6 +68,7 @@ def generate_excel(report, period_type): wb = Workbook() ws = wb.active + ws.title = "TenantStatistics" # Row height ws.row_dimensions[1].height = 102 @@ -85,7 +86,6 @@ def generate_excel(report, # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - # data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -118,7 +118,6 @@ def generate_excel(report, # Img img = Image("excelexporters/myems.png") - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -153,12 +152,12 @@ def generate_excel(report, wb.save(filename) return filename - ################################################# + #################################################################################################################### # First: 统计分析 # 6: title # 7: table title # 8~ca_len table_data - ################################################# + #################################################################################################################### reporting_period_data = report['reporting_period'] has_energy_data_flag = True @@ -307,12 +306,12 @@ def generate_excel(report, ws['H' + str(row + 1)] = str(round(reporting_period_data['variances_increment_rate'][i] * 100, 2)) + "%" \ if reporting_period_data['variances_increment_rate'][i] is not None else '0.00%' ws['H' + str(row + 1)].border = f_border - ################################################# + #################################################################################################################### # Second: 报告期消耗 # 9 + ca_len * 2: title # 10 + ca_len * 2: table title # per_unit_area_start_row_number + 2 ~ per_unit_area_start_row_number + 2 + ca_len : table_data - ################################################# + #################################################################################################################### if has_energy_data_flag: names = reporting_period_data['names'] @@ -420,12 +419,12 @@ def generate_excel(report, ws['H' + str(row_data)].border = f_border ws['H' + str(row_data)].number_format = '0.00' - ######################################################## + #################################################################################################################### # Third: 详细数据 # detailed_start_row_number~ detailed_start_row_number+time_len: line # detailed_start_row_number + 1: table title # i + analysis_end_row_number + 2 + 6 * ca_len~: table_data - ######################################################## + #################################################################################################################### has_timestamps_flag = True if "timestamps" not in reporting_period_data.keys() or \ reporting_period_data['timestamps'] is None or \ @@ -494,11 +493,11 @@ def generate_excel(report, ws[col + str(row_subtotals)].border = f_border ws[col + str(row_subtotals)].number_format = '0.00' - ######################################################## + #################################################################################################################### # third: LineChart # LineChart requires data from the detailed data table in the Excel file # so print the detailed data table first and then print LineChart - ######################################################## + #################################################################################################################### for i in range(0, ca_len): line = LineChart() @@ -523,7 +522,7 @@ def generate_excel(report, ser.marker.symbol = "diamond" ser.marker.size = 5 ws.add_chart(line, 'B' + str(analysis_end_row_number + 6 * i)) - ########################################## + #################################################################################################################### current_sheet_parameters_row_number = analysis_end_row_number + ca_len * 6 + 1 has_parameters_names_and_timestamps_and_values_data = True if 'parameters' not in report.keys() or \ @@ -542,14 +541,15 @@ def generate_excel(report, if has_parameters_names_and_timestamps_and_values_data: - ############################### + ################################################################################################################ # new worksheet - ############################### + ################################################################################################################ parameters_data = report['parameters'] parameters_names_len = len(parameters_data['names']) - parameters_ws = wb.create_sheet('相关参数') + file_name = __file__.split('/')[-1].replace(".py", "") + parameters_ws = wb.create_sheet(file_name + 'Parameters') parameters_timestamps_data_max_len = \ get_parameters_timestamps_lists_max_len(list(parameters_data['timestamps'])) @@ -574,7 +574,6 @@ def generate_excel(report, img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") parameters_ws.add_image(img, 'B1') # Title @@ -608,7 +607,7 @@ def generate_excel(report, parameters_ws_current_row_number = 6 parameters_ws['B' + str(parameters_ws_current_row_number)].font = title_font - parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' 相关参数' + parameters_ws['B' + str(parameters_ws_current_row_number)] = name + ' Parameters' parameters_ws_current_row_number += 1 @@ -659,12 +658,12 @@ def generate_excel(report, table_current_col_number = table_current_col_number + 3 - ######################################################## + ################################################################################################################ # parameters chart and parameters table - ######################################################## + ################################################################################################################ ws['B' + str(current_sheet_parameters_row_number)].font = title_font - ws['B' + str(current_sheet_parameters_row_number)] = name + ' 相关参数' + ws['B' + str(current_sheet_parameters_row_number)] = name + ' Parameters' current_sheet_parameters_row_number += 1 @@ -681,7 +680,7 @@ def generate_excel(report, data_col = 3 + col_index * 3 labels_col = 2 + col_index * 3 col_index += 1 - line.title = '相关参数 - ' + \ + line.title = 'Parameters - ' + \ parameters_ws.cell(row=parameters_table_start_row_number, column=data_col).value labels = Reference(parameters_ws, min_col=labels_col, min_row=parameters_table_start_row_number + 1, max_row=(len(parameters_data['timestamps'][i]) + parameters_table_start_row_number)) @@ -707,7 +706,7 @@ def generate_excel(report, current_sheet_parameters_row_number = chart_start_row_number current_sheet_parameters_row_number += 1 - ########################################## + #################################################################################################################### filename = str(uuid.uuid4()) + '.xlsx' wb.save(filename) diff --git a/myems-api/excelexporters/virtualmetercost.py b/myems-api/excelexporters/virtualmetercost.py index 1d0040de..65962fd3 100644 --- a/myems-api/excelexporters/virtualmetercost.py +++ b/myems-api/excelexporters/virtualmetercost.py @@ -13,12 +13,12 @@ from openpyxl import Workbook from openpyxl.chart.label import DataLabelList -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excelexporters file # Step 3: Encode the excelexporters file to Base64 -#################################################################################################################### +######################################################################################################################## def export(report, name, reporting_start_datetime_local, reporting_end_datetime_local, period_type): #################################################################################################################### @@ -64,17 +64,11 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d # todo ws = wb.active - + ws.title = "VirtualMeterCost" # Row height ws.row_dimensions[1].height = 102 for i in range(2, 2000 + 1): ws.row_dimensions[i].height = 42 - # ws.row_dimensions[1].height = 102 - # for i in range(2, 11 + 1): - # ws.row_dimensions[i].height = 30 - # - # for i in range(12, 43 + 1): - # ws.row_dimensions[i].height = 30 # Col width ws.column_dimensions['A'].width = 1.5 @@ -87,7 +81,6 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -117,18 +110,11 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -166,7 +152,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d return filename - ############################### + #################################################################################################################### has_cost_data_flag = True @@ -262,7 +248,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d for i in range(6, 9 + 1): ws.rows_dimensions[i].height = 0.1 - ###################################### + #################################################################################################################### has_cost_detail_flag = True reporting_period_data = report['reporting_period'] diff --git a/myems-api/excelexporters/virtualmeterenergy.py b/myems-api/excelexporters/virtualmeterenergy.py index 73ed2313..cab86ef2 100644 --- a/myems-api/excelexporters/virtualmeterenergy.py +++ b/myems-api/excelexporters/virtualmeterenergy.py @@ -14,12 +14,12 @@ from openpyxl.drawing.image import Image from openpyxl.styles import PatternFill, Border, Side, Alignment, Font -#################################################################################################################### +######################################################################################################################## # PROCEDURES # Step 1: Validate the report data # Step 2: Generate excelexporters file # Step 3: Encode the excelexporters file to Base64 -#################################################################################################################### +######################################################################################################################## def export(result, name, reporting_start_datetime_local, reporting_end_datetime_local, period_type): #################################################################################################################### @@ -61,7 +61,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d wb = Workbook() # todo ws = wb.active - + ws.title = "VirtualMeterEnergy" # Row height ws.row_dimensions[1].height = 102 for i in range(2, 2000 + 1): @@ -78,7 +78,6 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d # Font name_font = Font(name='Constantia', size=15, bold=True) title_font = Font(name='宋体', size=15, bold=True) - data_font = Font(name='Franklin Gothic Book', size=11) table_fill = PatternFill(fill_type='solid', fgColor='1F497D') f_border = Border(left=Side(border_style='medium', color='00000000'), @@ -108,18 +107,11 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d wrap_text=True, shrink_to_fit=False, indent=0) - c_r_alignment = Alignment(vertical='bottom', - horizontal='center', - text_rotation=0, - wrap_text=True, - shrink_to_fit=False, - indent=0) # Img img = Image("excelexporters/myems.png") img.width = img.width * 0.85 img.height = img.height * 0.85 - # img = Image("myems.png") ws.add_image(img, 'B1') # Title @@ -157,7 +149,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d return filename - ############################### + #################################################################################################################### has_cost_data_flag = True @@ -253,7 +245,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d for i in range(6, 9 + 1): ws.rows_dimensions[i].height = 0.1 - ###################################### + #################################################################################################################### has_cost_detail_flag = True reporting_period_data = report['reporting_period']