'''Created Dec 7, 2021 Levi''' # import time import xlsxwriter as xlsw class Writer(object): '''classdocs ''' my_row, my_col = 0, 0 range_row = 0 book = xlsw.Workbook() w_sheet = book.add_worksheet() num_format = book.add_format() num_format.set_num_format('#,##0.00') def __init__(self, name): '''Constructor ''' self.book.filename = name # self.w_sheet = self.book.add_worksheet(sh_name) # self.my_row, self.my_col = 0, 0 @staticmethod def to_vat(cui, func, year=None, range_=None): for code in cui: vat_dict = func(code) for i in vat_dict[0]: Writer.my_row += 1 print(i) Writer.w_sheet.write(Writer.my_row, 0, code) Writer.w_sheet.write(Writer.my_row, 1, i) Writer.w_sheet.write_row(Writer.my_row, 2, vat_dict[0][i]) Writer.w_sheet.write(0, Writer.my_col, 'code mentor') for keys in vat_dict[1].keys(): Writer.w_sheet.write(0, Writer.my_col + 1, keys) Writer.my_col += 1 # Writer.w_sheet.set_column(3, 3, 50) Writer.w_sheet.autofilter(0, 0, len(cui), len(vat_dict[1].keys()) - 1) Writer.w_sheet.freeze_panes(1, 0) Writer.book.close() @staticmethod def to_cult(cui, func, year=None, range_=None): for code in cui: vat_dict = func(code) for i in vat_dict[0]: Writer.my_row += 1 print(i) Writer.w_sheet.write(Writer.my_row, 0, code) Writer.w_sheet.write(Writer.my_row, 1, i) Writer.w_sheet.write_row(Writer.my_row, 2, vat_dict[0][i]) Writer.w_sheet.write(0, Writer.my_col, 'code mentor') for keys in vat_dict[1].keys(): Writer.w_sheet.write(0, Writer.my_col + 1, keys) Writer.my_col += 1 # Writer.w_sheet.set_column(3, 3, 50) Writer.w_sheet.autofilter(0, 0, len(cui), len(vat_dict[1].keys())) Writer.w_sheet.freeze_panes(1, 0) Writer.book.close() @staticmethod def to_rep(cui, func, year=None, range_=None): if range_: for year_ in range(int(range_[:4]), int(range_[-4:]) + 1): Writer.range_row += 1 for code in cui: vat_list = func(code, year_) Writer.my_row += 1 Writer.w_sheet.write_row(Writer.my_row, 0, vat_list[1]) else: for code in cui: vat_list = func(code, year) # for i in vat_list[1]: Writer.my_row += 1 Writer.w_sheet.write_row(Writer.my_row, 0, vat_list[1]) for keys in vat_list[0]: Writer.w_sheet.write(0, Writer.my_col, keys) Writer.my_col += 1 Writer.w_sheet.set_column(5, 24, cell_format=Writer.num_format) Writer.w_sheet.autofilter(0, 0, len(cui), len(vat_list[1])) Writer.w_sheet.freeze_panes(1, 0) Writer.book.close()