Cómo Importar Productos desde un Archivo Excel en PHP con PhpSpreadsheet, Bootstrap 5 y Ajax

Importar datos en masa desde Excel es una tarea común en muchas aplicaciones, especialmente para administrar inventarios o catálogos de productos. En este tutorial, te mostraremos cómo importar productos desde un archivo Excel a una base de datos MySQL utilizando PhpSpreadsheet, Bootstrap 5 para la interfaz y Ajax para hacer el proceso más fluido y rápido.

Importar productos desde Excel a MySQL en PHP con PhpSpreadsheet y Ajax

Requisitos previos

  1. PhpSpreadsheet: Una potente librería de PHP para manipular archivos de Excel.
  2. Bootstrap 5: Utilizado para el diseño y la ventana modal.
  3. Ajax: Para enviar el archivo de Excel al servidor y actualizar los datos en la página sin recargar.

Paso 1: Configuración del Entorno y Librerías Necesarias

Para usar PhpSpreadsheet, primero debes instalarlo a través de Composer. Si aún no lo tienes, instala Composer en tu entorno y ejecuta:

Paso 2: Crear la Conexión a la Base de Datos y la Tabla de Productos

Crea un archivo conexion.php para conectarte a tu base de datos y generar una tabla productos donde guardaremos los datos importados. Ajusta los datos de conexión según sea necesario.

Archivo: conexion.php

Paso 3: Crear el Formulario HTML con Bootstrap 5

En index.html, vamos a crear una interfaz básica con Bootstrap. Incluirá un botón para abrir una ventana modal desde donde seleccionaremos el archivo Excel a importar. También, agregaremos una tabla para mostrar los productos cargados.

Archivo: index.html

Paso 4: JavaScript para Enviar el Archivo Excel y Cargar los Productos

En script.js añadimos funciones JavaScript para enviar el archivo al servidor mediante Fetch API. También creamos una función que cargará los productos en la tabla después de una importación exitosa.

Archivo: script.js

Paso 5: Importar los Datos desde Excel en el Servidor

En importacion.php, utilizamos PhpSpreadsheet para procesar el archivo Excel y guardar los datos en la tabla productos.

Archivo: ajax/importacion.php

Paso 6: Obtener los Productos para Mostrar en la Tabla

Por último, creamos obtener_productos.php, que consultará la base de datos y devolverá los productos en formato JSON para mostrarlos en la tabla.

Archivo: ajax/obtener_productos.php

Conclusión

¡Y eso es todo! Ahora tienes una página de importación que permite a los usuarios cargar productos desde un archivo Excel y ver los datos recién importados en una tabla dinámica. Con este enfoque, optimizas la administración de datos y haces que el proceso sea sencillo y ágil.

Al finalizar este tutorial, es crucial recordar que respetar la estructura del archivo Excel es fundamental para que el proceso de importación funcione sin problemas.