Advertisement
xah

PBT v0.0.0

xah
Jun 7th, 2020 (edited)
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.96 KB | None | 0 0
  1. import openpyxl
  2. area = {"PBT Couriers Napier Depot": "NAPIER", "PBT Couriers Hamilton Depot": "HAMILTON", "PBT Couriers Auckland West Depot": "AUCKLAND", "PBT Couriers Whangarei Depot": "WHANGAREI", "PBT Couriers Auckland Central Depot": "AUCKLAND", "PBT Couriers Christchurch Depot": "CHRISTCHURCH"}
  3.  
  4. reportOnline = input("Input file (Online PBT report: ")
  5. reportAccounts = input("Input destination accounts file: ")
  6.  
  7. # opens the online workbook
  8. workbookOnline = load_workbook(filename=reportOnline, read_only=True)
  9. sheetOnline = workbookOnline.active
  10.  
  11. # insert lines
  12. sheetOnline.delete_rows(idx=1, amount=1)
  13. totalitems = len(sheetOnline["A"])
  14.  
  15. # reorder online report
  16. sheetOnline.move_range("S:S", rows=0, cols=-13)
  17. for to in sheetOnline.iter_cols(min_row=1, min_col = 6, max_col=6, values_only=True):
  18.     cell.value = area[to]
  19. sheetOnline.move_range("B:B", rows=0, cols=5)
  20. sheetOnline.move_range("D:D", rows=0, cols=-2)
  21. sheetOnline.move_range("C:C", rows=0, cols=1)
  22. sheetOnline.move_range("A:A", rows=0, cols=2)
  23. sheetOnline.move_range("E:E", rows=0, cols=-4)
  24. for date in sheetOnline.iter_cols(min_row=1, min_col=1, max_col=1, values_only=True):
  25.     cell.value = "=TEXT(" + date + ", 'dd/mm/yyyy/'")
  26. sheetOnline.move_range("H:H", rows=0, cols=-3)
  27. sheetOnline.move_range("I:I", rows=0, cols=-1)
  28. sheetOnline.move_range("L:M", rows=0, cols=-3)
  29. for kl in sheetOnline.iter_cols(min_row=1, min_col=11, max_col=12, values_only=True):
  30.     cell.value = 0
  31.  
  32. sheetOnline.save(reportOnline)
  33.  
  34. #opens the accounts workbook
  35. workbookAccounts = load_workbook(filename=reportAccounts, read_only=True)
  36. sheetAccounts = workbookAccounts.active
  37. sheetAccounts.insert_rows(idx=4, amount=totalitems)
  38.  
  39. maxRow = sheetAccounts.max_row
  40. minRow = sheetAccounts.min_row
  41.  
  42. for i in range(1, maxRow + 1):
  43.     for j in range(1, minRow + 1):
  44.         c = sheetOnline.cell(row = i, column = j)
  45.  
  46.         sheetAccounts(row = i+1, column = j).value = c.value
  47.  
  48.  
  49. sheetAccounts.save(str(reportAccounts))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement