from openpyxl import load_workbook

path = r"C:\Users\alexa\OneDrive\Documentos\Precificação\outputs\019f6b25\AGI_Precificacao_2026_v4_corrigida.xlsx"
wb = load_workbook(path)

currency = 'R$ #,##0.00'
number_1 = '0.0'
percent = '0.00%'

def set_format(ws, addr, number_format):
    target = ws[addr]
    if hasattr(target, "number_format"):
        target.number_format = number_format
        return
    for row in target:
        for cell in row:
            cell.number_format = number_format

ws = wb["01_Entrada"]
for addr in [
    "E18:E23", "E26:E29", "E31:E41", "G5:G10", "H6:H10",
    "H12:H13", "H15:H21", "J5:J7", "J9:J10"
]:
    set_format(ws, addr, currency)
for addr in ["E12", "E24", "E30"]:
    set_format(ws, addr, percent)
for addr in ["G11:H11"]:
    set_format(ws, addr, number_1)
set_format(ws, "H22", number_1)
set_format(ws, "E25", '0')

ws = wb["07_Proposta_Cliente"]
for addr in ["B8:B11", "B13:B15"]:
    set_format(ws, addr, currency)
set_format(ws, "B12", percent)

ws = wb["02_Dashboard"]
for addr in ["B7:B12", "B17"]:
    set_format(ws, addr, currency)
set_format(ws, "B13", percent)
set_format(ws, "B14", number_1)

wb.save(path)
