[Python] "Como percorrer todas as linhas de uma planilha do Excel em Python com xlwings e...

Discussão em 'Python' iniciado por Stack, Novembro 9, 2024.

  1. Stack

    Stack Membro Participativo

    Explicação do Código:

    Conectar ao Excel: Carrega o arquivo Excel e acessa a primeira planilha.

    Iniciar o aplicativo: Abre o aplicativo de destino.

    Função preencher_campo: Simplificada para preencher campos com IDs automáticos.

    Loop pelas linhas: Faz loop a partir da linha 2 até a última linha com dados, preenchendo os campos no aplicativo.

    from pywinauto import Application
    import xlwings as xw
    import time

    # Conectar ao Excel
    wb = xw.Book() # Abre o Excel ativo
    ws = wb.sheets[0] # Usar a primeira planilha

    # Iniciar o aplicativo
    app = Application(backend='uia').start(r'C:\warewin\faturaapac.exe')
    time.sleep(0.3) # Espera para o aplicativo abrir
    window = app.window(title_re='.*FaturaApac.*')

    # Função de preenchimento
    def preencher_campo(window, auto_id, valor):
    try:
    campo = window.child_window(auto_id=auto_id, control_type="Edit")
    campo.set_text(valor)
    campo.type_keys('{ENTER}')
    except Exception as e:
    print(f"Erro ao preencher {auto_id}: {e}")

    # Obter última linha com dados
    ultima_linha = ws.range("A1").end('down').row

    # Loop pelas linhas
    for row in range(2, ultima_linha + 1):
    prontuario = ws.range(f"A{row}").value or ''
    numero_apac = ws.range(f"B{row}").value or ''
    # Exemplo simplificado para preencher 2 campos

    # Preencher os campos no aplicativo
    preencher_campo(window, "149", prontuario)
    preencher_campo(window, "123", numero_apac)

    # Pausar para a próxima linha (ajuste o tempo conforme necessário)
    time.sleep(1)

    Continue reading...

Compartilhe esta Página