writer.py 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. '''Created Dec 7, 2021 Levi'''
  2. # import time
  3. import xlsxwriter as xlsw
  4. class Writer(object):
  5. '''classdocs
  6. '''
  7. my_row, my_col = 0, 0
  8. range_row = 0
  9. book = xlsw.Workbook()
  10. w_sheet = book.add_worksheet()
  11. num_format = book.add_format()
  12. num_format.set_num_format('#,##0.00')
  13. def __init__(self, name):
  14. '''Constructor
  15. '''
  16. self.book.filename = name
  17. # self.w_sheet = self.book.add_worksheet(sh_name)
  18. # self.my_row, self.my_col = 0, 0
  19. @staticmethod
  20. def to_vat(cui, func, year=None, range_=None):
  21. for code in cui:
  22. vat_dict = func(code)
  23. for i in vat_dict[0]:
  24. Writer.my_row += 1
  25. print(i)
  26. Writer.w_sheet.write(Writer.my_row, 0, code)
  27. Writer.w_sheet.write(Writer.my_row, 1, i)
  28. Writer.w_sheet.write_row(Writer.my_row, 2, vat_dict[0][i])
  29. Writer.w_sheet.write(0, Writer.my_col, 'code mentor')
  30. for keys in vat_dict[1].keys():
  31. Writer.w_sheet.write(0, Writer.my_col + 1, keys)
  32. Writer.my_col += 1
  33. # Writer.w_sheet.set_column(3, 3, 50)
  34. Writer.w_sheet.autofilter(0, 0, len(cui), len(vat_dict[1].keys()) - 1)
  35. Writer.w_sheet.freeze_panes(1, 0)
  36. Writer.book.close()
  37. @staticmethod
  38. def to_cult(cui, func, year=None, range_=None):
  39. for code in cui:
  40. vat_dict = func(code)
  41. for i in vat_dict[0]:
  42. Writer.my_row += 1
  43. print(i)
  44. Writer.w_sheet.write(Writer.my_row, 0, code)
  45. Writer.w_sheet.write(Writer.my_row, 1, i)
  46. Writer.w_sheet.write_row(Writer.my_row, 2, vat_dict[0][i])
  47. Writer.w_sheet.write(0, Writer.my_col, 'code mentor')
  48. for keys in vat_dict[1].keys():
  49. Writer.w_sheet.write(0, Writer.my_col + 1, keys)
  50. Writer.my_col += 1
  51. # Writer.w_sheet.set_column(3, 3, 50)
  52. Writer.w_sheet.autofilter(0, 0, len(cui), len(vat_dict[1].keys()))
  53. Writer.w_sheet.freeze_panes(1, 0)
  54. Writer.book.close()
  55. @staticmethod
  56. def to_rep(cui, func, year=None, range_=None):
  57. if range_:
  58. for year_ in range(int(range_[:4]), int(range_[-4:]) + 1):
  59. Writer.range_row += 1
  60. for code in cui:
  61. vat_list = func(code, year_)
  62. Writer.my_row += 1
  63. Writer.w_sheet.write_row(Writer.my_row, 0, vat_list[1])
  64. else:
  65. for code in cui:
  66. vat_list = func(code, year)
  67. # for i in vat_list[1]:
  68. Writer.my_row += 1
  69. Writer.w_sheet.write_row(Writer.my_row, 0, vat_list[1])
  70. for keys in vat_list[0]:
  71. Writer.w_sheet.write(0, Writer.my_col, keys)
  72. Writer.my_col += 1
  73. Writer.w_sheet.set_column(5, 24, cell_format=Writer.num_format)
  74. Writer.w_sheet.autofilter(0, 0, len(cui), len(vat_list[1]))
  75. Writer.w_sheet.freeze_panes(1, 0)
  76. Writer.book.close()