From 5557c64e1ff136e2c653dbb0f504fd6ecd1d6ff4 Mon Sep 17 00:00:00 2001 From: Caozhenhui <823914102@qq.com> Date: Mon, 26 Apr 2021 17:51:13 +0800 Subject: [PATCH] Column Letter and Column Index Converter have been added to Excel Exporters --- .../excelexporters/combinedequipmentcost.py | 50 +++------- .../combinedequipmentenergycategory.py | 44 ++------- .../combinedequipmentenergyitem.py | 44 ++------- .../excelexporters/combinedequipmentincome.py | 45 ++------- .../excelexporters/combinedequipmentload.py | 45 ++------- .../excelexporters/combinedequipmentoutput.py | 45 ++------- .../excelexporters/combinedequipmentsaving.py | 45 ++------- .../combinedequipmentstatistics.py | 44 ++------- myems-api/excelexporters/equipmentcost.py | 16 +-- .../excelexporters/equipmentenergycategory.py | 16 +-- .../excelexporters/equipmentenergyitem.py | 16 +-- myems-api/excelexporters/equipmentincome.py | 16 +-- myems-api/excelexporters/equipmentload.py | 16 +-- myems-api/excelexporters/equipmentoutput.py | 16 +-- myems-api/excelexporters/equipmentsaving.py | 16 +-- .../excelexporters/equipmentstatistics.py | 16 +-- myems-api/excelexporters/metercost.py | 95 +++++++----------- myems-api/excelexporters/meterenergy.py | 95 +++++++----------- .../excelexporters/metersubmetersbalance.py | 95 +++++++----------- myems-api/excelexporters/metertrend.py | 97 +++++++------------ myems-api/excelexporters/shopfloorcost.py | 79 +++++---------- .../excelexporters/shopfloorenergycategory.py | 78 +++++---------- .../excelexporters/shopfloorenergyitem.py | 79 +++++---------- myems-api/excelexporters/shopfloorload.py | 79 +++++---------- myems-api/excelexporters/shopfloorsaving.py | 79 +++++---------- .../excelexporters/shopfloorstatistics.py | 87 +++++++---------- myems-api/excelexporters/spacecost.py | 16 +-- .../excelexporters/spaceenergycategory.py | 16 +-- myems-api/excelexporters/spaceenergyitem.py | 16 +-- myems-api/excelexporters/spaceincome.py | 16 +-- myems-api/excelexporters/spaceload.py | 16 +-- myems-api/excelexporters/spaceoutput.py | 16 +-- myems-api/excelexporters/spacesaving.py | 16 +-- myems-api/excelexporters/spacestatistics.py | 16 +-- myems-api/excelexporters/storecost.py | 79 +++++---------- .../excelexporters/storeenergycategory.py | 79 +++++---------- myems-api/excelexporters/storeenergyitem.py | 79 +++++---------- myems-api/excelexporters/storeload.py | 79 +++++---------- myems-api/excelexporters/storesaving.py | 79 +++++---------- myems-api/excelexporters/storestatistics.py | 79 +++++---------- myems-api/excelexporters/tenantcost.py | 16 +-- .../excelexporters/tenantenergycategory.py | 16 +-- myems-api/excelexporters/tenantenergyitem.py | 16 +-- myems-api/excelexporters/tenantload.py | 16 +-- myems-api/excelexporters/tenantsaving.py | 16 +-- myems-api/excelexporters/tenantstatistics.py | 16 +-- 46 files changed, 727 insertions(+), 1324 deletions(-) diff --git a/myems-api/excelexporters/combinedequipmentcost.py b/myems-api/excelexporters/combinedequipmentcost.py index a24326b4..d68b58b4 100644 --- a/myems-api/excelexporters/combinedequipmentcost.py +++ b/myems-api/excelexporters/combinedequipmentcost.py @@ -418,8 +418,8 @@ def generate_excel(report, ws['D' + str(current_row_number)].alignment = c_c_alignment ws['D' + str(current_row_number)].border = f_border ws['D' + str(current_row_number)] = '{:.2%}'.format(round( - reporting_period_data['subtotals'][i], 2) / costsum) if costsum is not None and costsum != Decimal(0.0)\ - else " " + reporting_period_data['subtotals'][i], 2) / costsum) if \ + costsum is not None and costsum != Decimal(0.0) else " " current_row_number += 1 table_end_row_number = current_row_number - 1 @@ -753,17 +753,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = decimal_to_column(column_to_decimal(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -774,14 +776,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = decimal_to_column(column_to_decimal(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -790,7 +792,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = decimal_to_column(column_to_decimal(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table @@ -870,33 +872,3 @@ def timestamps_data_not_equal_0(lists): if len(value) > 0: number += 1 return number - - -def decimal_to_column(num=65): - string = '' - num = num - 64 - # The column number is not greater than 90 - if num <= 26: - return chr(num + 64) - # The column number is greater than 90 - while num // 26 > 0: - if num % 26 == 0: - string += 'Z' - num = num // 26 - 1 - else: - string += chr(num % 26 + 64) - num //= 26 - # Avoid conversion errors that might occur between 741 and 766 - if num > 0: - string += chr(num + 64) - - return string[::-1] - - -def column_to_decimal(string='A'): - num = 0 - for index, key in enumerate(string[::-1]): - num += (ord(key) - 64) * (26 ** index) - - return num + 64 - diff --git a/myems-api/excelexporters/combinedequipmentenergycategory.py b/myems-api/excelexporters/combinedequipmentenergycategory.py index 10431f92..ae31e952 100644 --- a/myems-api/excelexporters/combinedequipmentenergycategory.py +++ b/myems-api/excelexporters/combinedequipmentenergycategory.py @@ -623,17 +623,18 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue + col = format_cell.get_column_letter(table_current_col_number) - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number-1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number-1)].border = f_border + parameters_ws[col + str(parameters_ws_current_row_number-1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number-1)].border = f_border - col = decimal_to_column(column_to_decimal(table_current_col_number) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number-1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number-1)].border = f_border @@ -644,14 +645,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = decimal_to_column(column_to_decimal(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -660,7 +661,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = decimal_to_column(column_to_decimal(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table @@ -741,32 +742,3 @@ def timestamps_data_not_equal_0(lists): number += 1 return number - -def decimal_to_column(num=65): - string = '' - num = num - 64 - # The column number is not greater than 90 - if num <= 26: - return chr(num + 64) - # The column number is greater than 90 - while num // 26 > 0: - if num % 26 == 0: - string += 'Z' - num = num // 26 - 1 - else: - string += chr(num % 26 + 64) - num //= 26 - # Avoid conversion errors that might occur between 741 and 766 - if num > 0: - string += chr(num + 64) - - return string[::-1] - - -def column_to_decimal(string='A'): - num = 0 - for index, key in enumerate(string[::-1]): - num += (ord(key) - 64) * (26 ** index) - - return num + 64 - diff --git a/myems-api/excelexporters/combinedequipmentenergyitem.py b/myems-api/excelexporters/combinedequipmentenergyitem.py index 04908640..d250ebcc 100644 --- a/myems-api/excelexporters/combinedequipmentenergyitem.py +++ b/myems-api/excelexporters/combinedequipmentenergyitem.py @@ -583,17 +583,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number-1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number-1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = decimal_to_column(column_to_decimal(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number-1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number-1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number-1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number-1)].border = f_border @@ -604,14 +606,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = decimal_to_column(column_to_decimal(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -620,7 +622,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = decimal_to_column(column_to_decimal(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table @@ -710,31 +712,3 @@ def timestamps_data_not_equal_0(lists): number += 1 return number - -def decimal_to_column(num=65): - string = '' - num = num - 64 - # The column number is not greater than 90 - if num <= 26: - return chr(num + 64) - # The column number is greater than 90 - while num // 26 > 0: - if num % 26 == 0: - string += 'Z' - num = num // 26 - 1 - else: - string += chr(num % 26 + 64) - num //= 26 - # Avoid conversion errors that might occur between 741 and 766 - if num > 0: - string += chr(num + 64) - - return string[::-1] - - -def column_to_decimal(string='A'): - num = 0 - for index, key in enumerate(string[::-1]): - num += (ord(key) - 64) * (26 ** index) - - return num + 64 diff --git a/myems-api/excelexporters/combinedequipmentincome.py b/myems-api/excelexporters/combinedequipmentincome.py index b39e694d..a8dd4cc9 100644 --- a/myems-api/excelexporters/combinedequipmentincome.py +++ b/myems-api/excelexporters/combinedequipmentincome.py @@ -624,17 +624,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number-1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number-1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = decimal_to_column(column_to_decimal(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number-1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number-1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number-1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number-1)].border = f_border @@ -645,14 +647,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = decimal_to_column(column_to_decimal(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -661,7 +663,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = decimal_to_column(column_to_decimal(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table @@ -749,32 +751,3 @@ def timestamps_data_not_equal_0(lists): if len(value) > 0: number += 1 return number - - -def decimal_to_column(num=65): - string = '' - num = num - 64 - # The column number is not greater than 90 - if num <= 26: - return chr(num + 64) - # The column number is greater than 90 - while num // 26 > 0: - if num % 26 == 0: - string += 'Z' - num = num // 26 - 1 - else: - string += chr(num % 26 + 64) - num //= 26 - # Avoid conversion errors that might occur between 741 and 766 - if num > 0: - string += chr(num + 64) - - return string[::-1] - - -def column_to_decimal(string='A'): - num = 0 - for index, key in enumerate(string[::-1]): - num += (ord(key) - 64) * (26 ** index) - - return num + 64 diff --git a/myems-api/excelexporters/combinedequipmentload.py b/myems-api/excelexporters/combinedequipmentload.py index 52a4b29a..1bcb6e95 100644 --- a/myems-api/excelexporters/combinedequipmentload.py +++ b/myems-api/excelexporters/combinedequipmentload.py @@ -532,17 +532,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number-1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number-1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = decimal_to_column(column_to_decimal(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number-1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number-1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number-1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number-1)].border = f_border @@ -553,14 +555,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = decimal_to_column(column_to_decimal(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -569,7 +571,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = decimal_to_column(column_to_decimal(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ################################################################################################################ # parameters chart and parameters table @@ -649,32 +651,3 @@ def timestamps_data_not_equal_0(lists): if len(value) > 0: number += 1 return number - - -def decimal_to_column(num=65): - string = '' - num = num - 64 - # The column number is not greater than 90 - if num <= 26: - return chr(num + 64) - # The column number is greater than 90 - while num // 26 > 0: - if num % 26 == 0: - string += 'Z' - num = num // 26 - 1 - else: - string += chr(num % 26 + 64) - num //= 26 - # Avoid conversion errors that might occur between 741 and 766 - if num > 0: - string += chr(num + 64) - - return string[::-1] - - -def column_to_decimal(string='A'): - num = 0 - for index, key in enumerate(string[::-1]): - num += (ord(key) - 64) * (26 ** index) - - return num + 64 diff --git a/myems-api/excelexporters/combinedequipmentoutput.py b/myems-api/excelexporters/combinedequipmentoutput.py index ef306405..dd05175d 100644 --- a/myems-api/excelexporters/combinedequipmentoutput.py +++ b/myems-api/excelexporters/combinedequipmentoutput.py @@ -523,17 +523,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number-1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number-1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = decimal_to_column(column_to_decimal(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number-1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number-1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number-1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number-1)].border = f_border @@ -544,14 +546,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = decimal_to_column(column_to_decimal(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -560,7 +562,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = decimal_to_column(column_to_decimal(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table @@ -640,32 +642,3 @@ def timestamps_data_not_equal_0(lists): if len(value) > 0: number += 1 return number - - -def decimal_to_column(num=65): - string = '' - num = num - 64 - # The column number is not greater than 90 - if num <= 26: - return chr(num + 64) - # The column number is greater than 90 - while num // 26 > 0: - if num % 26 == 0: - string += 'Z' - num = num // 26 - 1 - else: - string += chr(num % 26 + 64) - num //= 26 - # Avoid conversion errors that might occur between 741 and 766 - if num > 0: - string += chr(num + 64) - - return string[::-1] - - -def column_to_decimal(string='A'): - num = 0 - for index, key in enumerate(string[::-1]): - num += (ord(key) - 64) * (26 ** index) - - return num + 64 diff --git a/myems-api/excelexporters/combinedequipmentsaving.py b/myems-api/excelexporters/combinedequipmentsaving.py index 87f2cc82..d1915e39 100644 --- a/myems-api/excelexporters/combinedequipmentsaving.py +++ b/myems-api/excelexporters/combinedequipmentsaving.py @@ -713,17 +713,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number-1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number-1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = decimal_to_column(column_to_decimal(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number-1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number-1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number-1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number-1)].border = f_border @@ -734,14 +736,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = decimal_to_column(column_to_decimal(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -750,7 +752,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = decimal_to_column(column_to_decimal(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ################################################################################################################ # parameters chart and parameters table @@ -839,32 +841,3 @@ def timestamps_data_not_equal_0(lists): if len(value) > 0: number += 1 return number - - -def decimal_to_column(num=65): - string = '' - num = num - 64 - # The column number is not greater than 90 - if num <= 26: - return chr(num + 64) - # The column number is greater than 90 - while num // 26 > 0: - if num % 26 == 0: - string += 'Z' - num = num // 26 - 1 - else: - string += chr(num % 26 + 64) - num //= 26 - # Avoid conversion errors that might occur between 741 and 766 - if num > 0: - string += chr(num + 64) - - return string[::-1] - - -def column_to_decimal(string='A'): - num = 0 - for index, key in enumerate(string[::-1]): - num += (ord(key) - 64) * (26 ** index) - - return num + 64 diff --git a/myems-api/excelexporters/combinedequipmentstatistics.py b/myems-api/excelexporters/combinedequipmentstatistics.py index 78e15f06..3ddc8178 100644 --- a/myems-api/excelexporters/combinedequipmentstatistics.py +++ b/myems-api/excelexporters/combinedequipmentstatistics.py @@ -563,17 +563,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number-1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number-1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = decimal_to_column(column_to_decimal(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number-1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number-1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number-1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number-1)].border = f_border @@ -584,14 +586,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = decimal_to_column(column_to_decimal(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -600,7 +602,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = decimal_to_column(column_to_decimal(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ################################################################################################################ # parameters chart and parameters table @@ -681,31 +683,3 @@ def timestamps_data_not_equal_0(lists): number += 1 return number - -def decimal_to_column(num=65): - string = '' - num = num - 64 - # The column number is not greater than 90 - if num <= 26: - return chr(num + 64) - # The column number is greater than 90 - while num // 26 > 0: - if num % 26 == 0: - string += 'Z' - num = num // 26 - 1 - else: - string += chr(num % 26 + 64) - num //= 26 - # Avoid conversion errors that might occur between 741 and 766 - if num > 0: - string += chr(num + 64) - - return string[::-1] - - -def column_to_decimal(string='A'): - num = 0 - for index, key in enumerate(string[::-1]): - num += (ord(key) - 64) * (26 ** index) - - return num + 64 diff --git a/myems-api/excelexporters/equipmentcost.py b/myems-api/excelexporters/equipmentcost.py index 9dc4cfd5..0e752072 100644 --- a/myems-api/excelexporters/equipmentcost.py +++ b/myems-api/excelexporters/equipmentcost.py @@ -616,17 +616,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number-1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number-1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = chr(ord(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number-1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number-1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number-1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number-1)].border = f_border @@ -637,14 +639,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = chr(ord(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -653,7 +655,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = chr(ord(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table diff --git a/myems-api/excelexporters/equipmentenergycategory.py b/myems-api/excelexporters/equipmentenergycategory.py index 0be50104..c7f2afa9 100644 --- a/myems-api/excelexporters/equipmentenergycategory.py +++ b/myems-api/excelexporters/equipmentenergycategory.py @@ -664,17 +664,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number-1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number-1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = chr(ord(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number-1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number-1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number-1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number-1)].border = f_border @@ -685,14 +687,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = chr(ord(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -701,7 +703,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = chr(ord(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table diff --git a/myems-api/excelexporters/equipmentenergyitem.py b/myems-api/excelexporters/equipmentenergyitem.py index b7a24c98..94cdc15c 100644 --- a/myems-api/excelexporters/equipmentenergyitem.py +++ b/myems-api/excelexporters/equipmentenergyitem.py @@ -527,17 +527,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = chr(ord(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -548,14 +550,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = chr(ord(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -564,7 +566,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = chr(ord(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table diff --git a/myems-api/excelexporters/equipmentincome.py b/myems-api/excelexporters/equipmentincome.py index 769aa80f..e228f7ed 100644 --- a/myems-api/excelexporters/equipmentincome.py +++ b/myems-api/excelexporters/equipmentincome.py @@ -548,17 +548,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number-1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number-1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = chr(ord(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number-1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number-1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number-1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number-1)].border = f_border @@ -569,14 +571,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = chr(ord(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -585,7 +587,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = chr(ord(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table diff --git a/myems-api/excelexporters/equipmentload.py b/myems-api/excelexporters/equipmentload.py index 27075171..f53d263a 100644 --- a/myems-api/excelexporters/equipmentload.py +++ b/myems-api/excelexporters/equipmentload.py @@ -469,17 +469,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = chr(ord(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -490,14 +492,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = chr(ord(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -506,7 +508,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = chr(ord(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table diff --git a/myems-api/excelexporters/equipmentoutput.py b/myems-api/excelexporters/equipmentoutput.py index e03c8a93..0c98a3b4 100644 --- a/myems-api/excelexporters/equipmentoutput.py +++ b/myems-api/excelexporters/equipmentoutput.py @@ -466,17 +466,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = chr(ord(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -487,14 +489,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = chr(ord(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -503,7 +505,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = chr(ord(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table diff --git a/myems-api/excelexporters/equipmentsaving.py b/myems-api/excelexporters/equipmentsaving.py index 5725e53e..ec2f59e0 100644 --- a/myems-api/excelexporters/equipmentsaving.py +++ b/myems-api/excelexporters/equipmentsaving.py @@ -653,17 +653,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = chr(ord(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -674,14 +676,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = chr(ord(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -690,7 +692,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = chr(ord(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table diff --git a/myems-api/excelexporters/equipmentstatistics.py b/myems-api/excelexporters/equipmentstatistics.py index 7abb27fa..3aeff0e9 100644 --- a/myems-api/excelexporters/equipmentstatistics.py +++ b/myems-api/excelexporters/equipmentstatistics.py @@ -502,17 +502,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = chr(ord(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -523,14 +525,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = chr(ord(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -539,7 +541,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = chr(ord(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table diff --git a/myems-api/excelexporters/metercost.py b/myems-api/excelexporters/metercost.py index 53e8bc2d..1bf4d1ba 100644 --- a/myems-api/excelexporters/metercost.py +++ b/myems-api/excelexporters/metercost.py @@ -60,60 +60,6 @@ def export(report, name, reporting_start_datetime_local, reporting_end_datetime_ return base64_message -def timestamps_data_all_equal_0(lists): - for i, value in enumerate(list(lists)): - if len(value) > 0: - return False - - return True - - -def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): - max_len = 0 - for i, value in enumerate(list(parameters_timestamps_lists)): - if len(value) > max_len: - max_len = len(value) - - return max_len - - -def timestamps_data_not_equal_0(lists): - number = 0 - for i, value in enumerate(list(lists)): - if len(value) > 0: - number += 1 - return number - - -def decimal_to_column(num=65): - string = '' - num = num - 64 - # The column number is not greater than 90 - if num <= 26: - return chr(num + 64) - # The column number is greater than 90 - while num // 26 > 0: - if num % 26 == 0: - string += 'Z' - num = num // 26 - 1 - else: - string += chr(num % 26 + 64) - num //= 26 - # Avoid conversion errors that might occur between 741 and 766 - if num > 0: - string += chr(num + 64) - - return string[::-1] - - -def column_to_decimal(string='A'): - num = 0 - for index, key in enumerate(string[::-1]): - num += (ord(key) - 64) * (26 ** index) - - return num + 64 - - def generate_excel(report, name, reporting_start_datetime_local, reporting_end_datetime_local, period_type): wb = Workbook() @@ -516,17 +462,19 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = decimal_to_column(column_to_decimal(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -537,14 +485,14 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = decimal_to_column(column_to_decimal(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -553,7 +501,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d table_current_row_number += 1 - table_current_col_number = decimal_to_column(column_to_decimal(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table @@ -608,3 +556,28 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d wb.save(filename) return filename + + +def timestamps_data_all_equal_0(lists): + for i, value in enumerate(list(lists)): + if len(value) > 0: + return False + + return True + + +def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): + max_len = 0 + for i, value in enumerate(list(parameters_timestamps_lists)): + if len(value) > max_len: + max_len = len(value) + + return max_len + + +def timestamps_data_not_equal_0(lists): + number = 0 + for i, value in enumerate(list(lists)): + if len(value) > 0: + number += 1 + return number diff --git a/myems-api/excelexporters/meterenergy.py b/myems-api/excelexporters/meterenergy.py index 560874cf..b8e32905 100644 --- a/myems-api/excelexporters/meterenergy.py +++ b/myems-api/excelexporters/meterenergy.py @@ -56,60 +56,6 @@ def export(result, name, reporting_start_datetime_local, reporting_end_datetime_ return base64_message -def timestamps_data_all_equal_0(lists): - for i, value in enumerate(list(lists)): - if len(value) > 0: - return False - - return True - - -def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): - max_len = 0 - for i, value in enumerate(list(parameters_timestamps_lists)): - if len(value) > max_len: - max_len = len(value) - - return max_len - - -def timestamps_data_not_equal_0(lists): - number = 0 - for i, value in enumerate(list(lists)): - if len(value) > 0: - number += 1 - return number - - -def decimal_to_column(num=65): - string = '' - num = num - 64 -# The column number is not greater than 90 - if num <= 26: - return chr(num+64) -# The column number is greater than 90 - while num // 26 > 0: - if num % 26 == 0: - string += 'Z' - num = num // 26 - 1 - else: - string += chr(num % 26 + 64) - num //= 26 -# Avoid conversion errors that might occur between 741 and 766 - if num > 0: - string += chr(num + 64) - - return string[::-1] - - -def column_to_decimal(string='A'): - num = 0 - for index, key in enumerate(string[::-1]): - num += (ord(key) - 64) * (26 ** index) - - return num + 64 - - def generate_excel(report, name, reporting_start_datetime_local, reporting_end_datetime_local, period_type): wb = Workbook() @@ -534,17 +480,19 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = decimal_to_column(column_to_decimal(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -555,14 +503,14 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = decimal_to_column(column_to_decimal(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -571,7 +519,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d table_current_row_number += 1 - table_current_col_number = decimal_to_column(column_to_decimal(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table @@ -626,3 +574,28 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d wb.save(filename) return filename + + +def timestamps_data_all_equal_0(lists): + for i, value in enumerate(list(lists)): + if len(value) > 0: + return False + + return True + + +def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): + max_len = 0 + for i, value in enumerate(list(parameters_timestamps_lists)): + if len(value) > max_len: + max_len = len(value) + + return max_len + + +def timestamps_data_not_equal_0(lists): + number = 0 + for i, value in enumerate(list(lists)): + if len(value) > 0: + number += 1 + return number diff --git a/myems-api/excelexporters/metersubmetersbalance.py b/myems-api/excelexporters/metersubmetersbalance.py index c08272e5..f8c238e7 100644 --- a/myems-api/excelexporters/metersubmetersbalance.py +++ b/myems-api/excelexporters/metersubmetersbalance.py @@ -56,60 +56,6 @@ def export(result, name, reporting_start_datetime_local, reporting_end_datetime_ return base64_message -def timestamps_data_all_equal_0(lists): - for i, value in enumerate(list(lists)): - if len(value) > 0: - return False - - return True - - -def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): - max_len = 0 - for i, value in enumerate(list(parameters_timestamps_lists)): - if len(value) > max_len: - max_len = len(value) - - return max_len - - -def timestamps_data_not_equal_0(lists): - number = 0 - for i, value in enumerate(list(lists)): - if len(value) > 0: - number += 1 - return number - - -def decimal_to_column(num=65): - string = '' - num = num - 64 -# The column number is not greater than 90 - if num <= 26: - return chr(num+64) -# The column number is greater than 90 - while num // 26 > 0: - if num % 26 == 0: - string += 'Z' - num = num // 26 - 1 - else: - string += chr(num % 26 + 64) - num //= 26 -# Avoid conversion errors that might occur between 741 and 766 - if num > 0: - string += chr(num + 64) - - return string[::-1] - - -def column_to_decimal(string='A'): - num = 0 - for index, key in enumerate(string[::-1]): - num += (ord(key) - 64) * (26 ** index) - - return num + 64 - - def generate_excel(report, name, reporting_start_datetime_local, reporting_end_datetime_local, period_type): wb = Workbook() ws = wb.active @@ -474,17 +420,19 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = decimal_to_column(column_to_decimal(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -495,14 +443,14 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = decimal_to_column(column_to_decimal(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -511,7 +459,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d table_current_row_number += 1 - table_current_col_number = decimal_to_column(column_to_decimal(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table @@ -562,3 +510,28 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d wb.save(filename) return filename + + +def timestamps_data_all_equal_0(lists): + for i, value in enumerate(list(lists)): + if len(value) > 0: + return False + + return True + + +def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): + max_len = 0 + for i, value in enumerate(list(parameters_timestamps_lists)): + if len(value) > max_len: + max_len = len(value) + + return max_len + + +def timestamps_data_not_equal_0(lists): + number = 0 + for i, value in enumerate(list(lists)): + if len(value) > 0: + number += 1 + return number diff --git a/myems-api/excelexporters/metertrend.py b/myems-api/excelexporters/metertrend.py index ebdb35e9..972c4f91 100644 --- a/myems-api/excelexporters/metertrend.py +++ b/myems-api/excelexporters/metertrend.py @@ -63,60 +63,6 @@ def export(result, return base64_message -def timestamps_data_all_equal_0(lists): - for i, value in enumerate(list(lists)): - if len(value) > 0: - return False - - return True - - -def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): - max_len = 0 - for i, value in enumerate(list(parameters_timestamps_lists)): - if len(value) > max_len: - max_len = len(value) - - return max_len - - -def timestamps_data_not_equal_0(lists): - number = 0 - for i, value in enumerate(list(lists)): - if len(value) > 0: - number += 1 - return number - - -def decimal_to_column(num=65): - string = '' - num = num - 64 -# The column number is not greater than 90 - if num <= 26: - return chr(num+64) -# The column number is greater than 90 - while num // 26 > 0: - if num % 26 == 0: - string += 'Z' - num = num // 26 - 1 - else: - string += chr(num % 26 + 64) - num //= 26 -# Avoid conversion errors that might occur between 741 and 766 - if num > 0: - string += chr(num + 64) - - return string[::-1] - - -def column_to_decimal(string='A'): - num = 0 - for index, key in enumerate(string[::-1]): - num += (ord(key) - 64) * (26 ** index) - - return num + 64 - - def generate_excel(report, name, reporting_start_datetime_local, @@ -287,7 +233,7 @@ def generate_excel(report, for i in range(0, ca_len): # 38 title - col = chr(ord('C') + i) + col = format_cell.get_column_letter(3 + i) ws[col + str(start_detail_data_row_num - 1)].fill = table_fill ws[col + str(start_detail_data_row_num - 1)].font = title_font @@ -421,17 +367,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = decimal_to_column(column_to_decimal(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -442,14 +390,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = decimal_to_column(column_to_decimal(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -458,7 +406,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = decimal_to_column(column_to_decimal(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table @@ -513,3 +461,28 @@ def generate_excel(report, wb.save(filename) return filename + + +def timestamps_data_all_equal_0(lists): + for i, value in enumerate(list(lists)): + if len(value) > 0: + return False + + return True + + +def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): + max_len = 0 + for i, value in enumerate(list(parameters_timestamps_lists)): + if len(value) > max_len: + max_len = len(value) + + return max_len + + +def timestamps_data_not_equal_0(lists): + number = 0 + for i, value in enumerate(list(lists)): + if len(value) > 0: + number += 1 + return number diff --git a/myems-api/excelexporters/shopfloorcost.py b/myems-api/excelexporters/shopfloorcost.py index 8a680175..441a31ed 100644 --- a/myems-api/excelexporters/shopfloorcost.py +++ b/myems-api/excelexporters/shopfloorcost.py @@ -62,52 +62,6 @@ def export(report, return base64_message -def decimal_to_column(num=65): - string = '' - num = num - 64 - # The column number is not greater than 90 - if num <= 26: - return chr(num + 64) - # The column number is greater than 90 - while num // 26 > 0: - if num % 26 == 0: - string += 'Z' - num = num // 26 - 1 - else: - string += chr(num % 26 + 64) - num //= 26 - # Avoid conversion errors that might occur between 741 and 766 - if num > 0: - string += chr(num + 64) - - return string[::-1] - - -def column_to_decimal(string='A'): - num = 0 - for index, key in enumerate(string[::-1]): - num += (ord(key) - 64) * (26 ** index) - - return num + 64 - - -def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): - max_len = 0 - for i, value in enumerate(list(parameters_timestamps_lists)): - if len(value) > max_len: - max_len = len(value) - - return max_len - - -def timestamps_data_all_equal_0(lists): - for i, value in enumerate(list(lists)): - if len(value) > 0: - return False - - return True - - def generate_excel(report, name, reporting_start_datetime_local, @@ -750,17 +704,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = decimal_to_column(column_to_decimal(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -771,14 +727,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = decimal_to_column(column_to_decimal(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -787,7 +743,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = decimal_to_column(column_to_decimal(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table @@ -842,3 +798,20 @@ def generate_excel(report, wb.save(filename) return filename + + +def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): + max_len = 0 + for i, value in enumerate(list(parameters_timestamps_lists)): + if len(value) > max_len: + max_len = len(value) + + return max_len + + +def timestamps_data_all_equal_0(lists): + for i, value in enumerate(list(lists)): + if len(value) > 0: + return False + + return True diff --git a/myems-api/excelexporters/shopfloorenergycategory.py b/myems-api/excelexporters/shopfloorenergycategory.py index d0c1cd7d..1474d22e 100644 --- a/myems-api/excelexporters/shopfloorenergycategory.py +++ b/myems-api/excelexporters/shopfloorenergycategory.py @@ -61,52 +61,6 @@ def export(report, return base64_message -def decimal_to_column(num=65): - string = '' - num = num - 64 - # The column number is not greater than 90 - if num <= 26: - return chr(num + 64) - # The column number is greater than 90 - while num // 26 > 0: - if num % 26 == 0: - string += 'Z' - num = num // 26 - 1 - else: - string += chr(num % 26 + 64) - num //= 26 - # Avoid conversion errors that might occur between 741 and 766 - if num > 0: - string += chr(num + 64) - - return string[::-1] - - -def column_to_decimal(string='A'): - num = 0 - for index, key in enumerate(string[::-1]): - num += (ord(key) - 64) * (26 ** index) - - return num + 64 - - -def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): - max_len = 0 - for i, value in enumerate(list(parameters_timestamps_lists)): - if len(value) > max_len: - max_len = len(value) - - return max_len - - -def timestamps_data_all_equal_0(lists): - for i, value in enumerate(list(lists)): - if len(value) > 0: - return False - - return True - - def generate_excel(report, name, reporting_start_datetime_local, @@ -636,17 +590,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = decimal_to_column(column_to_decimal(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -657,14 +613,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = decimal_to_column(column_to_decimal(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -673,7 +629,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = decimal_to_column(column_to_decimal(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table @@ -729,3 +685,19 @@ def generate_excel(report, return filename + +def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): + max_len = 0 + for i, value in enumerate(list(parameters_timestamps_lists)): + if len(value) > max_len: + max_len = len(value) + + return max_len + + +def timestamps_data_all_equal_0(lists): + for i, value in enumerate(list(lists)): + if len(value) > 0: + return False + + return True diff --git a/myems-api/excelexporters/shopfloorenergyitem.py b/myems-api/excelexporters/shopfloorenergyitem.py index 81f6ee1f..908c527c 100644 --- a/myems-api/excelexporters/shopfloorenergyitem.py +++ b/myems-api/excelexporters/shopfloorenergyitem.py @@ -61,52 +61,6 @@ def export(report, return base64_message -def decimal_to_column(num=65): - string = '' - num = num - 64 - # The column number is not greater than 90 - if num <= 26: - return chr(num + 64) - # The column number is greater than 90 - while num // 26 > 0: - if num % 26 == 0: - string += 'Z' - num = num // 26 - 1 - else: - string += chr(num % 26 + 64) - num //= 26 - # Avoid conversion errors that might occur between 741 and 766 - if num > 0: - string += chr(num + 64) - - return string[::-1] - - -def column_to_decimal(string='A'): - num = 0 - for index, key in enumerate(string[::-1]): - num += (ord(key) - 64) * (26 ** index) - - return num + 64 - - -def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): - max_len = 0 - for i, value in enumerate(list(parameters_timestamps_lists)): - if len(value) > max_len: - max_len = len(value) - - return max_len - - -def timestamps_data_all_equal_0(lists): - for i, value in enumerate(list(lists)): - if len(value) > 0: - return False - - return True - - def generate_excel(report, name, reporting_start_datetime_local, @@ -594,17 +548,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = decimal_to_column(column_to_decimal(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -615,14 +571,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = decimal_to_column(column_to_decimal(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -631,7 +587,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = decimal_to_column(column_to_decimal(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table @@ -695,3 +651,20 @@ def group_by_category(category_list): category_dict[value] = list() category_dict[value].append(i) return category_dict + + +def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): + max_len = 0 + for i, value in enumerate(list(parameters_timestamps_lists)): + if len(value) > max_len: + max_len = len(value) + + return max_len + + +def timestamps_data_all_equal_0(lists): + for i, value in enumerate(list(lists)): + if len(value) > 0: + return False + + return True \ No newline at end of file diff --git a/myems-api/excelexporters/shopfloorload.py b/myems-api/excelexporters/shopfloorload.py index 7f8b2302..8b6e8806 100644 --- a/myems-api/excelexporters/shopfloorload.py +++ b/myems-api/excelexporters/shopfloorload.py @@ -60,52 +60,6 @@ def export(report, return base64_message -def decimal_to_column(num=65): - string = '' - num = num - 64 - # The column number is not greater than 90 - if num <= 26: - return chr(num + 64) - # The column number is greater than 90 - while num // 26 > 0: - if num % 26 == 0: - string += 'Z' - num = num // 26 - 1 - else: - string += chr(num % 26 + 64) - num //= 26 - # Avoid conversion errors that might occur between 741 and 766 - if num > 0: - string += chr(num + 64) - - return string[::-1] - - -def column_to_decimal(string='A'): - num = 0 - for index, key in enumerate(string[::-1]): - num += (ord(key) - 64) * (26 ** index) - - return num + 64 - - -def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): - max_len = 0 - for i, value in enumerate(list(parameters_timestamps_lists)): - if len(value) > max_len: - max_len = len(value) - - return max_len - - -def timestamps_data_all_equal_0(lists): - for i, value in enumerate(list(lists)): - if len(value) > 0: - return False - - return True - - def generate_excel(report, name, reporting_start_datetime_local, @@ -567,17 +521,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = decimal_to_column(column_to_decimal(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -588,14 +544,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = decimal_to_column(column_to_decimal(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -604,7 +560,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = decimal_to_column(column_to_decimal(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table @@ -659,3 +615,20 @@ def generate_excel(report, wb.save(filename) return filename + + +def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): + max_len = 0 + for i, value in enumerate(list(parameters_timestamps_lists)): + if len(value) > max_len: + max_len = len(value) + + return max_len + + +def timestamps_data_all_equal_0(lists): + for i, value in enumerate(list(lists)): + if len(value) > 0: + return False + + return True diff --git a/myems-api/excelexporters/shopfloorsaving.py b/myems-api/excelexporters/shopfloorsaving.py index 42c7f6a6..9ad487db 100644 --- a/myems-api/excelexporters/shopfloorsaving.py +++ b/myems-api/excelexporters/shopfloorsaving.py @@ -62,52 +62,6 @@ def export(report, return base64_message -def decimal_to_column(num=65): - string = '' - num = num - 64 - # The column number is not greater than 90 - if num <= 26: - return chr(num + 64) - # The column number is greater than 90 - while num // 26 > 0: - if num % 26 == 0: - string += 'Z' - num = num // 26 - 1 - else: - string += chr(num % 26 + 64) - num //= 26 - # Avoid conversion errors that might occur between 741 and 766 - if num > 0: - string += chr(num + 64) - - return string[::-1] - - -def column_to_decimal(string='A'): - num = 0 - for index, key in enumerate(string[::-1]): - num += (ord(key) - 64) * (26 ** index) - - return num + 64 - - -def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): - max_len = 0 - for i, value in enumerate(list(parameters_timestamps_lists)): - if len(value) > max_len: - max_len = len(value) - - return max_len - - -def timestamps_data_all_equal_0(lists): - for i, value in enumerate(list(lists)): - if len(value) > 0: - return False - - return True - - def generate_excel(report, name, reporting_start_datetime_local, @@ -737,17 +691,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = decimal_to_column(column_to_decimal(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -758,14 +714,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = decimal_to_column(column_to_decimal(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -774,7 +730,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = decimal_to_column(column_to_decimal(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table @@ -838,3 +794,20 @@ def sum_list(lists): total += lists[i] return total + + +def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): + max_len = 0 + for i, value in enumerate(list(parameters_timestamps_lists)): + if len(value) > max_len: + max_len = len(value) + + return max_len + + +def timestamps_data_all_equal_0(lists): + for i, value in enumerate(list(lists)): + if len(value) > 0: + return False + + return True diff --git a/myems-api/excelexporters/shopfloorstatistics.py b/myems-api/excelexporters/shopfloorstatistics.py index 418d4894..0ac147c2 100644 --- a/myems-api/excelexporters/shopfloorstatistics.py +++ b/myems-api/excelexporters/shopfloorstatistics.py @@ -60,52 +60,6 @@ def export(report, return base64_message -def decimal_to_column(num=65): - string = '' - num = num - 64 - # The column number is not greater than 90 - if num <= 26: - return chr(num + 64) - # The column number is greater than 90 - while num // 26 > 0: - if num % 26 == 0: - string += 'Z' - num = num // 26 - 1 - else: - string += chr(num % 26 + 64) - num //= 26 - # Avoid conversion errors that might occur between 741 and 766 - if num > 0: - string += chr(num + 64) - - return string[::-1] - - -def column_to_decimal(string='A'): - num = 0 - for index, key in enumerate(string[::-1]): - num += (ord(key) - 64) * (26 ** index) - - return num + 64 - - -def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): - max_len = 0 - for i, value in enumerate(list(parameters_timestamps_lists)): - if len(value) > max_len: - max_len = len(value) - - return max_len - - -def timestamps_data_all_equal_0(lists): - for i, value in enumerate(list(lists)): - if len(value) > 0: - return False - - return True - - def generate_excel(report, name, reporting_start_datetime_local, @@ -672,17 +626,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = decimal_to_column(column_to_decimal(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -693,14 +649,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = decimal_to_column(column_to_decimal(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -709,7 +665,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = decimal_to_column(column_to_decimal(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table @@ -764,3 +720,28 @@ def generate_excel(report, wb.save(filename) return filename + + +def column_to_decimal(string='A'): + num = 0 + for index, key in enumerate(string[::-1]): + num += (ord(key) - 64) * (26 ** index) + + return num + 64 + + +def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): + max_len = 0 + for i, value in enumerate(list(parameters_timestamps_lists)): + if len(value) > max_len: + max_len = len(value) + + return max_len + + +def timestamps_data_all_equal_0(lists): + for i, value in enumerate(list(lists)): + if len(value) > 0: + return False + + return True diff --git a/myems-api/excelexporters/spacecost.py b/myems-api/excelexporters/spacecost.py index cf1147a5..40bbe4d5 100644 --- a/myems-api/excelexporters/spacecost.py +++ b/myems-api/excelexporters/spacecost.py @@ -742,17 +742,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = chr(ord(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -763,14 +765,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = chr(ord(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -779,7 +781,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = chr(ord(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table diff --git a/myems-api/excelexporters/spaceenergycategory.py b/myems-api/excelexporters/spaceenergycategory.py index dd6c00f4..7cf89805 100644 --- a/myems-api/excelexporters/spaceenergycategory.py +++ b/myems-api/excelexporters/spaceenergycategory.py @@ -787,17 +787,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = chr(ord(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -808,14 +810,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = chr(ord(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -824,7 +826,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = chr(ord(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table diff --git a/myems-api/excelexporters/spaceenergyitem.py b/myems-api/excelexporters/spaceenergyitem.py index 60a2b974..8d9cdee7 100644 --- a/myems-api/excelexporters/spaceenergyitem.py +++ b/myems-api/excelexporters/spaceenergyitem.py @@ -634,17 +634,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = chr(ord(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -655,14 +657,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = chr(ord(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -671,7 +673,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = chr(ord(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table diff --git a/myems-api/excelexporters/spaceincome.py b/myems-api/excelexporters/spaceincome.py index 6506fb70..83e205bb 100644 --- a/myems-api/excelexporters/spaceincome.py +++ b/myems-api/excelexporters/spaceincome.py @@ -674,17 +674,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = chr(ord(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -695,14 +697,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = chr(ord(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -711,7 +713,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = chr(ord(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table diff --git a/myems-api/excelexporters/spaceload.py b/myems-api/excelexporters/spaceload.py index d9a8ad57..48425220 100644 --- a/myems-api/excelexporters/spaceload.py +++ b/myems-api/excelexporters/spaceload.py @@ -582,17 +582,19 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = chr(ord(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -603,14 +605,14 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = chr(ord(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -619,7 +621,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d table_current_row_number += 1 - table_current_col_number = chr(ord(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table diff --git a/myems-api/excelexporters/spaceoutput.py b/myems-api/excelexporters/spaceoutput.py index 9d13a891..1114ecad 100644 --- a/myems-api/excelexporters/spaceoutput.py +++ b/myems-api/excelexporters/spaceoutput.py @@ -570,17 +570,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = chr(ord(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -591,14 +593,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = chr(ord(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -607,7 +609,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = chr(ord(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table diff --git a/myems-api/excelexporters/spacesaving.py b/myems-api/excelexporters/spacesaving.py index 975a87e8..1346cd60 100644 --- a/myems-api/excelexporters/spacesaving.py +++ b/myems-api/excelexporters/spacesaving.py @@ -778,17 +778,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = chr(ord(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -799,14 +801,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = chr(ord(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -815,7 +817,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = chr(ord(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table diff --git a/myems-api/excelexporters/spacestatistics.py b/myems-api/excelexporters/spacestatistics.py index 63cdca41..5d92d9c0 100644 --- a/myems-api/excelexporters/spacestatistics.py +++ b/myems-api/excelexporters/spacestatistics.py @@ -619,17 +619,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = chr(ord(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -640,14 +642,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = chr(ord(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -656,7 +658,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = chr(ord(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table diff --git a/myems-api/excelexporters/storecost.py b/myems-api/excelexporters/storecost.py index 5fbf101c..37fbf883 100644 --- a/myems-api/excelexporters/storecost.py +++ b/myems-api/excelexporters/storecost.py @@ -62,52 +62,6 @@ def export(report, return base64_message -def decimal_to_column(num=65): - string = '' - num = num - 64 - # The column number is not greater than 90 - if num <= 26: - return chr(num + 64) - # The column number is greater than 90 - while num // 26 > 0: - if num % 26 == 0: - string += 'Z' - num = num // 26 - 1 - else: - string += chr(num % 26 + 64) - num //= 26 - # Avoid conversion errors that might occur between 741 and 766 - if num > 0: - string += chr(num + 64) - - return string[::-1] - - -def column_to_decimal(string='A'): - num = 0 - for index, key in enumerate(string[::-1]): - num += (ord(key) - 64) * (26 ** index) - - return num + 64 - - -def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): - max_len = 0 - for i, value in enumerate(list(parameters_timestamps_lists)): - if len(value) > max_len: - max_len = len(value) - - return max_len - - -def timestamps_data_all_equal_0(lists): - for i, value in enumerate(list(lists)): - if len(value) > 0: - return False - - return True - - def generate_excel(report, name, reporting_start_datetime_local, @@ -712,17 +666,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = decimal_to_column(column_to_decimal(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -733,14 +689,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = decimal_to_column(column_to_decimal(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -749,7 +705,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = decimal_to_column(column_to_decimal(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table @@ -804,3 +760,20 @@ def generate_excel(report, wb.save(filename) return filename + + +def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): + max_len = 0 + for i, value in enumerate(list(parameters_timestamps_lists)): + if len(value) > max_len: + max_len = len(value) + + return max_len + + +def timestamps_data_all_equal_0(lists): + for i, value in enumerate(list(lists)): + if len(value) > 0: + return False + + return True diff --git a/myems-api/excelexporters/storeenergycategory.py b/myems-api/excelexporters/storeenergycategory.py index 60df405d..85687a50 100644 --- a/myems-api/excelexporters/storeenergycategory.py +++ b/myems-api/excelexporters/storeenergycategory.py @@ -61,52 +61,6 @@ def export(report, return base64_message -def decimal_to_column(num=65): - string = '' - num = num - 64 - # The column number is not greater than 90 - if num <= 26: - return chr(num + 64) - # The column number is greater than 90 - while num // 26 > 0: - if num % 26 == 0: - string += 'Z' - num = num // 26 - 1 - else: - string += chr(num % 26 + 64) - num //= 26 - # Avoid conversion errors that might occur between 741 and 766 - if num > 0: - string += chr(num + 64) - - return string[::-1] - - -def column_to_decimal(string='A'): - num = 0 - for index, key in enumerate(string[::-1]): - num += (ord(key) - 64) * (26 ** index) - - return num + 64 - - -def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): - max_len = 0 - for i, value in enumerate(list(parameters_timestamps_lists)): - if len(value) > max_len: - max_len = len(value) - - return max_len - - -def timestamps_data_all_equal_0(lists): - for i, value in enumerate(list(lists)): - if len(value) > 0: - return False - - return True - - def generate_excel(report, name, reporting_start_datetime_local, @@ -637,17 +591,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = decimal_to_column(column_to_decimal(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -658,14 +614,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = decimal_to_column(column_to_decimal(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -674,7 +630,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = decimal_to_column(column_to_decimal(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table @@ -729,3 +685,20 @@ def generate_excel(report, wb.save(filename) return filename + + +def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): + max_len = 0 + for i, value in enumerate(list(parameters_timestamps_lists)): + if len(value) > max_len: + max_len = len(value) + + return max_len + + +def timestamps_data_all_equal_0(lists): + for i, value in enumerate(list(lists)): + if len(value) > 0: + return False + + return True diff --git a/myems-api/excelexporters/storeenergyitem.py b/myems-api/excelexporters/storeenergyitem.py index 4ec3a7b4..64f570b0 100644 --- a/myems-api/excelexporters/storeenergyitem.py +++ b/myems-api/excelexporters/storeenergyitem.py @@ -61,52 +61,6 @@ def export(report, return base64_message -def decimal_to_column(num=65): - string = '' - num = num - 64 - # The column number is not greater than 90 - if num <= 26: - return chr(num + 64) - # The column number is greater than 90 - while num // 26 > 0: - if num % 26 == 0: - string += 'Z' - num = num // 26 - 1 - else: - string += chr(num % 26 + 64) - num //= 26 - # Avoid conversion errors that might occur between 741 and 766 - if num > 0: - string += chr(num + 64) - - return string[::-1] - - -def column_to_decimal(string='A'): - num = 0 - for index, key in enumerate(string[::-1]): - num += (ord(key) - 64) * (26 ** index) - - return num + 64 - - -def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): - max_len = 0 - for i, value in enumerate(list(parameters_timestamps_lists)): - if len(value) > max_len: - max_len = len(value) - - return max_len - - -def timestamps_data_all_equal_0(lists): - for i, value in enumerate(list(lists)): - if len(value) > 0: - return False - - return True - - def generate_excel(report, name, reporting_start_datetime_local, @@ -596,17 +550,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = decimal_to_column(column_to_decimal(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -617,14 +573,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = decimal_to_column(column_to_decimal(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -633,7 +589,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = decimal_to_column(column_to_decimal(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table @@ -697,3 +653,20 @@ def group_by_category(category_list): category_dict[value] = list() category_dict[value].append(i) return category_dict + + +def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): + max_len = 0 + for i, value in enumerate(list(parameters_timestamps_lists)): + if len(value) > max_len: + max_len = len(value) + + return max_len + + +def timestamps_data_all_equal_0(lists): + for i, value in enumerate(list(lists)): + if len(value) > 0: + return False + + return True diff --git a/myems-api/excelexporters/storeload.py b/myems-api/excelexporters/storeload.py index 1afc28af..eeac2450 100644 --- a/myems-api/excelexporters/storeload.py +++ b/myems-api/excelexporters/storeload.py @@ -60,52 +60,6 @@ def export(report, return base64_message -def decimal_to_column(num=65): - string = '' - num = num - 64 - # The column number is not greater than 90 - if num <= 26: - return chr(num + 64) - # The column number is greater than 90 - while num // 26 > 0: - if num % 26 == 0: - string += 'Z' - num = num // 26 - 1 - else: - string += chr(num % 26 + 64) - num //= 26 - # Avoid conversion errors that might occur between 741 and 766 - if num > 0: - string += chr(num + 64) - - return string[::-1] - - -def column_to_decimal(string='A'): - num = 0 - for index, key in enumerate(string[::-1]): - num += (ord(key) - 64) * (26 ** index) - - return num + 64 - - -def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): - max_len = 0 - for i, value in enumerate(list(parameters_timestamps_lists)): - if len(value) > max_len: - max_len = len(value) - - return max_len - - -def timestamps_data_all_equal_0(lists): - for i, value in enumerate(list(lists)): - if len(value) > 0: - return False - - return True - - def generate_excel(report, name, reporting_start_datetime_local, @@ -565,17 +519,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = decimal_to_column(column_to_decimal(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -586,14 +542,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = decimal_to_column(column_to_decimal(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -602,7 +558,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = decimal_to_column(column_to_decimal(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table @@ -657,3 +613,20 @@ def generate_excel(report, wb.save(filename) return filename + + +def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): + max_len = 0 + for i, value in enumerate(list(parameters_timestamps_lists)): + if len(value) > max_len: + max_len = len(value) + + return max_len + + +def timestamps_data_all_equal_0(lists): + for i, value in enumerate(list(lists)): + if len(value) > 0: + return False + + return True \ No newline at end of file diff --git a/myems-api/excelexporters/storesaving.py b/myems-api/excelexporters/storesaving.py index 42c7f6a6..9ad487db 100644 --- a/myems-api/excelexporters/storesaving.py +++ b/myems-api/excelexporters/storesaving.py @@ -62,52 +62,6 @@ def export(report, return base64_message -def decimal_to_column(num=65): - string = '' - num = num - 64 - # The column number is not greater than 90 - if num <= 26: - return chr(num + 64) - # The column number is greater than 90 - while num // 26 > 0: - if num % 26 == 0: - string += 'Z' - num = num // 26 - 1 - else: - string += chr(num % 26 + 64) - num //= 26 - # Avoid conversion errors that might occur between 741 and 766 - if num > 0: - string += chr(num + 64) - - return string[::-1] - - -def column_to_decimal(string='A'): - num = 0 - for index, key in enumerate(string[::-1]): - num += (ord(key) - 64) * (26 ** index) - - return num + 64 - - -def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): - max_len = 0 - for i, value in enumerate(list(parameters_timestamps_lists)): - if len(value) > max_len: - max_len = len(value) - - return max_len - - -def timestamps_data_all_equal_0(lists): - for i, value in enumerate(list(lists)): - if len(value) > 0: - return False - - return True - - def generate_excel(report, name, reporting_start_datetime_local, @@ -737,17 +691,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = decimal_to_column(column_to_decimal(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -758,14 +714,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = decimal_to_column(column_to_decimal(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -774,7 +730,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = decimal_to_column(column_to_decimal(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table @@ -838,3 +794,20 @@ def sum_list(lists): total += lists[i] return total + + +def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): + max_len = 0 + for i, value in enumerate(list(parameters_timestamps_lists)): + if len(value) > max_len: + max_len = len(value) + + return max_len + + +def timestamps_data_all_equal_0(lists): + for i, value in enumerate(list(lists)): + if len(value) > 0: + return False + + return True diff --git a/myems-api/excelexporters/storestatistics.py b/myems-api/excelexporters/storestatistics.py index 48d94465..ee3324de 100644 --- a/myems-api/excelexporters/storestatistics.py +++ b/myems-api/excelexporters/storestatistics.py @@ -61,52 +61,6 @@ def export(report, return base64_message -def decimal_to_column(num=65): - string = '' - num = num - 64 - # The column number is not greater than 90 - if num <= 26: - return chr(num + 64) - # The column number is greater than 90 - while num // 26 > 0: - if num % 26 == 0: - string += 'Z' - num = num // 26 - 1 - else: - string += chr(num % 26 + 64) - num //= 26 - # Avoid conversion errors that might occur between 741 and 766 - if num > 0: - string += chr(num + 64) - - return string[::-1] - - -def column_to_decimal(string='A'): - num = 0 - for index, key in enumerate(string[::-1]): - num += (ord(key) - 64) * (26 ** index) - - return num + 64 - - -def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): - max_len = 0 - for i, value in enumerate(list(parameters_timestamps_lists)): - if len(value) > max_len: - max_len = len(value) - - return max_len - - -def timestamps_data_all_equal_0(lists): - for i, value in enumerate(list(lists)): - if len(value) > 0: - return False - - return True - - def generate_excel(report, name, reporting_start_datetime_local, @@ -673,17 +627,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = decimal_to_column(column_to_decimal(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -694,14 +650,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = decimal_to_column(column_to_decimal(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -710,7 +666,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = decimal_to_column(column_to_decimal(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table @@ -765,3 +721,20 @@ def generate_excel(report, wb.save(filename) return filename + + +def get_parameters_timestamps_lists_max_len(parameters_timestamps_lists): + max_len = 0 + for i, value in enumerate(list(parameters_timestamps_lists)): + if len(value) > max_len: + max_len = len(value) + + return max_len + + +def timestamps_data_all_equal_0(lists): + for i, value in enumerate(list(lists)): + if len(value) > 0: + return False + + return True \ No newline at end of file diff --git a/myems-api/excelexporters/tenantcost.py b/myems-api/excelexporters/tenantcost.py index ded78239..8f94a588 100644 --- a/myems-api/excelexporters/tenantcost.py +++ b/myems-api/excelexporters/tenantcost.py @@ -647,17 +647,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = chr(ord(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -668,14 +670,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = chr(ord(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -684,7 +686,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = chr(ord(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table diff --git a/myems-api/excelexporters/tenantenergycategory.py b/myems-api/excelexporters/tenantenergycategory.py index 29ffc0ca..3a2e684d 100644 --- a/myems-api/excelexporters/tenantenergycategory.py +++ b/myems-api/excelexporters/tenantenergycategory.py @@ -712,17 +712,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = chr(ord(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -733,14 +735,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = chr(ord(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -749,7 +751,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = chr(ord(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table diff --git a/myems-api/excelexporters/tenantenergyitem.py b/myems-api/excelexporters/tenantenergyitem.py index 4efc125a..bd990495 100644 --- a/myems-api/excelexporters/tenantenergyitem.py +++ b/myems-api/excelexporters/tenantenergyitem.py @@ -543,17 +543,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = chr(ord(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -564,14 +566,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = chr(ord(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -580,7 +582,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = chr(ord(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table diff --git a/myems-api/excelexporters/tenantload.py b/myems-api/excelexporters/tenantload.py index b6e4aaaf..0b6f1357 100644 --- a/myems-api/excelexporters/tenantload.py +++ b/myems-api/excelexporters/tenantload.py @@ -584,17 +584,19 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = chr(ord(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -605,14 +607,14 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = chr(ord(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -621,7 +623,7 @@ def generate_excel(report, name, reporting_start_datetime_local, reporting_end_d table_current_row_number += 1 - table_current_col_number = chr(ord(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table diff --git a/myems-api/excelexporters/tenantsaving.py b/myems-api/excelexporters/tenantsaving.py index 519290ca..efbff5f5 100644 --- a/myems-api/excelexporters/tenantsaving.py +++ b/myems-api/excelexporters/tenantsaving.py @@ -686,17 +686,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = chr(ord(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -707,14 +709,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = chr(ord(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -723,7 +725,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = chr(ord(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table diff --git a/myems-api/excelexporters/tenantstatistics.py b/myems-api/excelexporters/tenantstatistics.py index c87aff6e..d7f34a99 100644 --- a/myems-api/excelexporters/tenantstatistics.py +++ b/myems-api/excelexporters/tenantstatistics.py @@ -618,17 +618,19 @@ def generate_excel(report, parameters_ws_current_row_number += 1 - table_current_col_number = 'B' + table_current_col_number = 2 for i in range(0, parameters_names_len): if len(parameters_data['timestamps'][i]) == 0: continue - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].fill = table_fill - parameters_ws[table_current_col_number + str(parameters_ws_current_row_number - 1)].border = f_border + col = format_cell.get_column_letter(table_current_col_number) - col = chr(ord(table_current_col_number) + 1) + parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill + parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border + + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(parameters_ws_current_row_number - 1)].fill = table_fill parameters_ws[col + str(parameters_ws_current_row_number - 1)].border = f_border @@ -639,14 +641,14 @@ def generate_excel(report, table_current_row_number = parameters_ws_current_row_number for j, value in enumerate(list(parameters_data['timestamps'][i])): - col = table_current_col_number + col = format_cell.get_column_letter(table_current_col_number) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font parameters_ws[col + str(table_current_row_number)].alignment = c_c_alignment parameters_ws[col + str(table_current_row_number)] = value - col = chr(ord(col) + 1) + col = format_cell.get_column_letter(table_current_col_number + 1) parameters_ws[col + str(table_current_row_number)].border = f_border parameters_ws[col + str(table_current_row_number)].font = title_font @@ -655,7 +657,7 @@ def generate_excel(report, table_current_row_number += 1 - table_current_col_number = chr(ord(table_current_col_number) + 3) + table_current_col_number = table_current_col_number + 3 ######################################################## # parameters chart and parameters table