Files
quiz-ius/lista/converterTabelaEmPlanilha.py
2026-04-07 20:46:59 +00:00

72 lines
2.2 KiB
Python
Executable File

import json
from openpyxl import Workbook
import mysql.connector
def export_cadastros_to_excel():
# Configurações de conexão com o MySQL
conn = mysql.connector.connect(
host="localhost", # Como o PHP chamará este script no servidor, usamos localhost
user="root",
password="",
database="xcmg"
)
cursor = conn.cursor()
# Consulta da tabela cadastros (incluindo dados_adicionais)
cursor.execute("""
SELECT id, nome, empresa, cargo, telefone, codigo, ativado, gerado, status, dados_adicionais
FROM cadastros
""")
rows = cursor.fetchall()
cursor.close()
conn.close()
# Cria um arquivo Excel
wb = Workbook()
ws = wb.active
ws.title = "Cadastros IUS"
# Cabeçalho da planilha (incluindo novos campos)
headers = [
'ID', 'Nome', 'Empresa', 'Cargo', 'E-mail',
'Setor', 'Segmento', 'Funcionários',
'Telefone', 'Código', 'Ativado', 'Data Cadastro', 'Status'
]
ws.append(headers)
# Insere os dados na planilha
for row in rows:
(id_db, nome, empresa, cargo, telefone, codigo, ativado, gerado, status, dados_json_raw) = row
email = ""
setor = ""
segmento = ""
funcionarios = ""
if dados_json_raw:
try:
# O banco armazena aspas simples duplicadas ('') como escape do MySQL
json_clean = dados_json_raw.replace("''", "'")
extras = json.loads(json_clean)
email = extras.get('email', '')
setor = extras.get('setor', '')
segmento = extras.get('segmento', '')
funcionarios = extras.get('funcionarios', '')
except Exception as e:
print(f"Erro ao processar JSON para ID {id_db}: {e}")
# Monta a linha para o Excel
ws.append([
id_db, nome, empresa, cargo, email,
setor, segmento, funcionarios,
telefone, codigo, ativado, gerado, status
])
# Salva a planilha
wb.save("cadastros.xlsx")
if __name__ == '__main__':
export_cadastros_to_excel()