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()