portfolio-anexos

Aplicacion Flask para cargar archivos Excel (.xlsb, .xlsx, .xlsm) y generar anexos de forma automatica.

README

portfolio-anexos

Aplicacion Flask para cargar archivos Excel (.xlsb, .xlsx, .xlsm) y generar anexos de forma automatica.

Que hace ahora

  • Analiza el libro cargado y detecta anexos disponibles.
  • Traduce formulas de macro frecuentes (SUMIF, VLOOKUP, SUM, avance %, diferencia) a Python.
  • Genera automaticamente un ZIP con los anexos en formato .xlsx al terminar el procesamiento.
  • Permite vista previa y descarga individual en xlsx/csv.

Estructura

  • anexos/web.py: factory Flask, rutas, sesion y jobs.
  • anexos/processing.py: lectura Excel, analisis de hojas y motor de conversion de macro a Python.
  • templates/: interfaz minimalista (index.html, login.html, base.html).
  • static/: estilos y JS del frontend.
  • examples/: archivos de ejemplo para validacion.
  • app.py y run.py: entrypoints.

Setup

bash python3 -m venv venv source venv/bin/activate pip install -r requirements.txt cp .env.example .env

Run local

bash python3 run.py

Abre http://127.0.0.1:5025.

Credenciales por defecto

  • Usuario: luis
  • Contrasena: luis2025

Puedes cambiarlo con:

  • ANEXOS_LOGIN_USER
  • ANEXOS_LOGIN_PASSWORD o ANEXOS_LOGIN_PASSWORD_HASH

Endpoints principales

  • GET /api/health
  • POST /api/process
  • POST /api/example/process
  • GET /api/reportes
  • GET /api/reportes/<report_id>/preview
  • GET /api/reportes/<report_id>/download?format=xlsx|csv
  • GET /api/reportes/download-all

Notas

  • El ZIP se genera automaticamente al procesar el archivo.
  • Los jobs y archivos temporales se guardan en instance/jobs y instance/uploads.
  • Limpieza automatica configurable con JOB_RETENTION_HOURS (default: 72).
Pruebas rápidas

Revisa el README para el flujo de pruebas recomendado.

Volver a proyectos Reportar issue