Integrar archivos Excel a PHP Mysql o PostgreSQL?
Un requerimiento actual por parte de nuestros clientes, es INTEGRAR hojas de Excel a bases de datos o sistemas CRM (magento, joomla, wordpress, prestashop,etc.).
Para lo cual me he dato a la tarea de DESARROLLAR esta conexión de datos, partiendo de los siguientes principios:
1.- Excel (windows , Mac, Opensuite,etc) contiene Holas de datos formadas por columnas y renglones.
2.-En esta información, en la mayoria de los casos, el contenido es variable: importe con simbolo de pesos, textos, formulas, etc.
3.-Incluye una lista interminable de datos (filas desde 1 hasta 9999999 ), pero sin marcas de fin… aparente.
Bien me dije, manos a la obra.
Procedí a crear la rutina de programas en PHP con las interfaces de iteracción del usuario (finalmente esta aplicacion puede ser operada desde un área de trabajo a nivel admin backoffice para : magento, prestashop, joomla, wordpress o cualquier crm , tambien cualquier ERP en linux o windows…)
Una LIBRERIA de procesamiento para PHP que pude integrar con el minimo de problemas, estable y prometedora es ”
PHPExcel – OpenXML – Read, Write and Create Excel documents in PHP – Spreadsheet engine”
La parte medular de esta solución estuvo mas que nada en cuanto al PROCESAMIENTO real de la información, es decir, debí pensar en las etapas normales que tenian que cumplirse y ver las problemasticas normales al integrar estas hojas a LA BASE DE DATOS MYSQL como: capacidad de memoria para procesar archivos con 2 millones de lineas, capacidad de espacio en el servidor Host (linux por supuesto), ajustes a APACHE y PHP-.etc
Algunos de los problemas basicos que te encuentras son:
phpExcel:allowed memory size of 134217728 bytes exhausted
phpExcel:Error: Out Of Memory (allocated 72876032)
——– entre algunos otros relacionados con “la capacidad de limite de memoria…” permitida por tu configuracion Apache-PHP host.
Bien, una vez resuelto esto, todo lo demás fue más facil, tanto la integración de la informacion a la base de datos, como la extración de reportes.
La parte facil es una vez contenida la informacion, el medio final que se requiera para ver la informacion (PDF, EMAIL, ) o un retorno a Excel, es 100% realizable.
Aqui dejo unas pantallas de ejemplo que fue integrado en JOOMLA cn una zona de seguridad por parte del usuario.
[sac_happens]