xah icon

PBT v0.0.0

xah | PRO | 11/23/21 06:53:17 AM UTC (Edited) | 0 ⭐ | 344 👁️ | Never ⏰ | []
Python |

1.96 KB

|

None

|

0 👍

/

0 👎

import openpyxl
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"}
 
reportOnline = input("Input file (Online PBT report: ")
reportAccounts = input("Input destination accounts file: ")
 
# opens the online workbook
workbookOnline = load_workbook(filename=reportOnline, read_only=True)
sheetOnline = workbookOnline.active
 
# insert lines
sheetOnline.delete_rows(idx=1, amount=1)
totalitems = len(sheetOnline["A"])
 
# reorder online report
sheetOnline.move_range("S:S", rows=0, cols=-13)
for to in sheetOnline.iter_cols(min_row=1, min_col = 6, max_col=6, values_only=True):
    cell.value = area[to]
sheetOnline.move_range("B:B", rows=0, cols=5)
sheetOnline.move_range("D:D", rows=0, cols=-2)
sheetOnline.move_range("C:C", rows=0, cols=1)
sheetOnline.move_range("A:A", rows=0, cols=2)
sheetOnline.move_range("E:E", rows=0, cols=-4)
for date in sheetOnline.iter_cols(min_row=1, min_col=1, max_col=1, values_only=True):
    cell.value = "=TEXT(" + date + ", 'dd/mm/yyyy/'")
sheetOnline.move_range("H:H", rows=0, cols=-3)
sheetOnline.move_range("I:I", rows=0, cols=-1)
sheetOnline.move_range("L:M", rows=0, cols=-3)
for kl in sheetOnline.iter_cols(min_row=1, min_col=11, max_col=12, values_only=True):
    cell.value = 0
 
sheetOnline.save(reportOnline)
 
#opens the accounts workbook
workbookAccounts = load_workbook(filename=reportAccounts, read_only=True)
sheetAccounts = workbookAccounts.active
sheetAccounts.insert_rows(idx=4, amount=totalitems)
 
maxRow = sheetAccounts.max_row
minRow = sheetAccounts.min_row
 
for i in range(1, maxRow + 1):
    for j in range(1, minRow + 1):
        c = sheetOnline.cell(row = i, column = j)
 
        sheetAccounts(row = i+1, column = j).value = c.value
 
 
sheetAccounts.save(str(reportAccounts))

Comments