Módulo que muestra un listado de registros provenientes de base de datos
y permite exportarlos a un archivo Excel (.xlsx) con formato (encabezados en negrita, bordes y
anchos de columna autoajustados) usando PhpSpreadsheet.
ConvExcel es un módulo que carga dinámicamente un listado de registros desde una base de datos
mediante fetch y un endpoint PHP, y añade la posibilidad de descargar esos mismos datos en un
archivo Excel (.xlsx) con formato profesional utilizando la librería PhpSpreadsheet.[web:104][web:116]
Está pensado como ejemplo práctico de generación de reportes Excel desde PHP con estilo, integrado al ecosistema del JcDuro Dashboard.
- Listado de “últimos registros” cargado de forma asíncrona con JavaScript (
fetch→listar.php). - Exportación directa de todos los registros a Excel con PhpSpreadsheet (
exportar_excel.php).[web:104][web:117] - Encabezados con negrita, fondo de color y bordes en toda la tabla.
- Anchos de columna autoajustados al contenido y primera fila congelada en Excel.
- Integración con las plantillas globales del dashboard (header, menú, footer).
- PHP 7/8 con PDO para acceso a datos.
- MySQL / MariaDB como motor de base de datos.
- PhpSpreadsheet para la generación de archivos Excel con estilos.[web:104][web:106]
- HTML5 + CSS3 para la interfaz en el dashboard.
- JavaScript vanilla (
fetch,DOMContentLoaded) para cargar el listado en tiempo real.
-
convexcel.php: vista principal del módulo dentro del dashboard. Muestra:- Sección “Últimos registros”.
- Contenedor
#lista-registrosque se rellena vía AJAX (fetch). - Botón “Descargar Excel” que apunta a
exportar_excel.php.
-
listar.php:- Consulta la base de datos.
- Devuelve el HTML del listado (tabla o tarjetas) que se inyecta en
#lista-registros.
-
exportar_excel.php:- Recupera los mismos datos desde la BD.
- Construye un
Spreadsheetcon PhpSpreadsheet, aplica estilos y envía el.xlsxal navegador.[web:104][web:120]
Estoy buscando colaboración para mejorar estilos y formato del Excel exportado (encabezados, colores, anchos de columna, acentos, etc.).
Las contribuciones son bienvenidas.
Si quieres ayudar, revisa los issues abiertos
y en especial el issue sobre la mejora de estilos del Excel.
- Clonar o copiar el módulo dentro de tu proyecto (por ejemplo en
/convexcel/). - Verificar que la conexión PDO global (
db.php) esté configurada correctamente (host, base de datos, usuario, contraseña).
