Automatizando Tarefas no Excel com Python e openpyxl
É aqui que entra o Python com a biblioteca openpyxl, que nos permite criar, editar e automatizar planilhas Excel de forma programática.
Neste artigo, você vai aprender:
O que é o openpyxl e como instalar.
Como criar e abrir planilhas.
Como escrever e ler dados.
Como aplicar estilos e fórmulas.
Como automatizar tarefas comuns (relatórios, consolidação de dados).
Projeto prático: gerando um relatório automático de vendas.
🔹 1. O que é o openpyxl?
O openpyxl é uma biblioteca Python que permite manipular arquivos Excel no formato .xlsx (Excel moderno).
Com ela, você pode:
Criar novas planilhas.
Escrever e ler dados em células.
Criar fórmulas automaticamente.
Alterar estilos (cores, fontes, bordas).
Gerar relatórios automatizados.
🔹 2. Instalando o openpyxl
Instale a biblioteca com o pip:
pip install openpyxl
🔹 3. Criando uma nova planilha
Vamos criar uma planilha simples com algumas informações.
import openpyxl
# Criar nova pasta de trabalho
wb = openpyxl.Workbook()
# Selecionar planilha ativa
sheet = wb.active
sheet.title = "Relatório"
# Escrever alguns dados
sheet["A1"] = "Produto"
sheet["B1"] = "Quantidade"
sheet["C1"] = "Preço"
sheet.append(["Caderno", 10, 12.50])
sheet.append(["Caneta", 50, 2.00])
sheet.append(["Borracha", 20, 1.50])
# Salvar o arquivo
wb.save("relatorio.xlsx")
print("✅ Planilha criada com sucesso!")
📂 Agora você terá um arquivo relatorio.xlsx pronto para abrir no Excel.
🔹 4. Lendo dados de uma planilha existente
Podemos abrir planilhas existentes e ler seus dados:
# Abrir arquivo existente
wb = openpyxl.load_workbook("relatorio.xlsx")
sheet = wb["Relatório"]
# Ler células específicas
print(sheet["A1"].value) # Produto
print(sheet["B2"].value) # Quantidade do primeiro item
# Ler todas as linhas
for linha in sheet.iter_rows(min_row=2, values_only=True):
print(linha)
🔹 5. Automatizando cálculos com fórmulas
Também é possível inserir fórmulas diretamente com Python:
# Adicionar coluna de total
sheet["D1"] = "Total"
for i in range(2, 5): # linhas 2 até 4
sheet[f"D{i}"] = f"=B{i}*C{i}" # fórmula Excel
# Salvar alterações
wb.save("relatorio.xlsx")
Agora, ao abrir no Excel, os totais serão calculados automaticamente.
🔹 6. Formatando células (estilos)
Podemos deixar a planilha mais apresentável com cores e estilos:
from openpyxl.styles import Font, PatternFill
# Estilo do cabeçalho
for cell in sheet[1]:
cell.font = Font(bold=True, color="FFFFFF")
cell.fill = PatternFill("solid", fgColor="4F81BD")
wb.save("relatorio.xlsx")
Resultado: o cabeçalho ficará em branco sobre fundo azul, mais parecido com relatórios profissionais.
🔹 7. Projeto prático: Relatório de vendas automatizado
Imagine que você tem um sistema que gera dados de vendas diárias em Python.
Podemos gerar uma planilha automatizada com total de vendas e destaques para produtos mais vendidos.
import openpyxl
from openpyxl.styles import Font, PatternFill
# Criar workbook
wb = openpyxl.Workbook()
sheet = wb.active
sheet.title = "Vendas"
# Cabeçalho
cabecalho = ["Produto", "Quantidade", "Preço Unitário", "Total"]
sheet.append(cabecalho)
# Dados fictícios
vendas = [
("Notebook", 5, 3500),
("Mouse", 20, 50),
("Teclado", 15, 120),
("Monitor", 8, 900),
]
# Preencher dados
for produto, qtd, preco in vendas:
total = qtd * preco
sheet.append([produto, qtd, preco, total])
# Estilizar cabeçalho
for cell in sheet[1]:
cell.font = Font(bold=True, color="FFFFFF")
cell.fill = PatternFill("solid", fgColor="4F81BD")
# Total geral
linha_final = len(vendas) + 2
sheet[f"A{linha_final}"] = "TOTAL"
sheet[f"D{linha_final}"] = f"=SUM(D2:D{linha_final-1})"
# Salvar relatório
wb.save("relatorio_vendas.xlsx")
print("📊 Relatório de vendas gerado com sucesso!")
📌 O resultado será uma planilha com:
Cabeçalho formatado.
Lista de vendas com totais.
Um TOTAL GERAL calculado automaticamente no final.
🔹 8. Tarefas comuns que você pode automatizar
Com o openpyxl, você pode:
Consolidar várias planilhas em uma só.
Gerar relatórios diários/semanais automaticamente.
Atualizar planilhas existentes com novos dados.
Criar dashboards automatizados.
Preencher modelos prontos de Excel (ex: faturas, contratos).
🔹 9. Conclusão
Neste artigo, você aprendeu a:
✅ Criar e salvar planilhas Excel com openpyxl.
✅ Inserir dados e fórmulas automaticamente.
✅ Ler e atualizar arquivos existentes.
✅ Estilizar células para relatórios mais profissionais.
✅ Gerar relatórios de vendas automatizados.
Isso mostra como o Python pode substituir processos manuais e repetitivos no Excel, aumentando produtividade e reduzindo erros.

Comentários
Postar um comentário