Cargando...
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.
8 comentarios sobre ¿Cómo crear documentos de Microsoft Office con PHP?
Hola. Me gustaría probar el excel generator que pones en el artículo, pero estoy un poco perdido. Una vez que me lo descargo, ¿qué tengo que hacer?.
Gracias
Hola Ángel!
Mi recomendación es que utilices el paquete de PEAR Spreadsheet Excel Writer
Personalmente no lo he utilizado pero al ser un paquete de PEAR tendrás más seguridad de que es estable y está actualizado.
Para utilizar este paquete, te recomiendo el siguiente artículo de Sitepoint.
Un saludo!
Para utilizar PHP Simple Excel File Generador sólo hay que seguir los siguientes pasos:
– bajarte la última versión
– descomprimir el fichero
– ejecutar alguno de los ejemplos desde la línea de comandos
Si quieres incluirlo en alguna aplicación web, tendrás que copiarte la librería psxlsgen.php en tu aplicación, incluirla (include o require) desde el script en el que se utilizará y escribir el código que necesites.
Te recomiendo que veas los ejemplos de código que vienen en el fichero que te descargas. Otra opción es ver uno de esos ejemplos desde la página de Zend
Un saludo!
Ok, muchas gracias, voy a echarle un ojo y ya os cuento.
Bueno, he estado intentando generar el fichero .xls con PHP Simple Excel File Generador, y lo crea, pero no sé si lo hace bien, ya que al intentar abrirlo me dice “Imposible leer el archivo”. A ver si alguien puede aportarme un poco de luz.
Por cierto, el documento que se genera si tiene los datos correctos, ya que abriendolo con el notepad, se puede ver. El problema debe ser de formato, pero estoy sin ideas…
Hola Angel!
Perdona el retraso en contestar (se nota que estamos de vacaciones).
Con la nuevas versiones de Excel está dando problemas la úttima versión de la librería (la 0.3b). Si utilizas la versión anterior 0.2 de la librería te debería funcionar.
Esperamos que por fin todo te funcione! 🙂
Un saludo!
Armando
Pues si, con la versión 0.2 funciona perfectamente. Muchas gracias por todo!!!!
Un saludo!
Deja tu comentario sobre ¿Cómo crear documentos de Microsoft Office con PHP?
*Nota: Sólo se tendrán en cuenta los comentarios correctamente redactados y que estén relacionados con el tema de la entrada.RSS a los comentarios de esta entrada · TrackBack URI