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
.xlsxal 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.pyyrun.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_USERANEXOS_LOGIN_PASSWORDoANEXOS_LOGIN_PASSWORD_HASH
Endpoints principales
GET /api/healthPOST /api/processPOST /api/example/processGET /api/reportesGET /api/reportes/<report_id>/previewGET /api/reportes/<report_id>/download?format=xlsx|csvGET /api/reportes/download-all
Notas
- El ZIP se genera automaticamente al procesar el archivo.
- Los jobs y archivos temporales se guardan en
instance/jobsyinstance/uploads. - Limpieza automatica configurable con
JOB_RETENTION_HOURS(default: 72).