Justin Silverton describe dos formas principales de construir un documento de Excel, Word y PowerPoint usando PHP. La primera es usar la librería COM (sólo es válido si estas usando un servidor Windows), la segunda forma es utilizar una solución más estándar basada en HTML o CSV.

Si bien es totalmente correcto, me gustaría puntualizar algunas cosas. Las librería con son muy potentes, nos permiten crear cualquier documento Microsoft Office sin problemas, pero no están pensadas para ser utilizadas en un servidor (¿Instalar Word, Excel en un servidor?) y mucho menos optimizadas para funcionar en entornos con usuarios concurrentes.

Cuando creas un objeto de la clase COM(“word.application”) automáticamente estás cargando en memoria, además de las funciones para crear documentos Word, toda la configuración del usuario, barras de herramientas, utilidades, etc . El resultado puede ser nefasto para el servidor y su memoria. Debéis sumar los numerosos problemas de seguridad que pueden ocasionar unas librerías pensadas para monousuarios y las posibilidades de “cuelgue”, como resultado tendréis un cóctel demoledor.

Las soluciones vía HTML o CSV, aunque obviamente no tan potente como usar las librerías COM, son soluciones pensadas para trabajar en un servidor, consumir pocos recursos con múltiples usuarios e incluyen seguridad. Y salvo que no haya otra solución, sólo deberíamos usar este método para construir documentos de Microsoft Office con PHP.

Mi recomendación es que no perdáis el tiempo creando estas librerías y busquéis soluciones probadas y que os ahorraran tiempo en vuestros desarrollos. Hay soluciones tanto comerciales como OpenSource, un buen ejemplo es PHP Simple Excel File Generador.

Be Sociable, Share!