Como sabemos, la solución para hacer reportes con la herramienta de diseño iReport es bastante atractiva, elegante y funcional. Normalmente en los sistemas Web no se complican mucho con este tipo de herramientas, sino se dedican directamente en hacerlos en HTML o crearlos con PDF mediante librerías de terceros, e incluso convertir el documento HTML a PDF con una herramienta de línea de comandos llamada htmldoc.
El inconveniente que considero  impráctico y con un cierto vacío para soluciones pequeñas y medianas, donde se requiere una implantación inmediata sin tanta complicaciones. La casa de software Jasper ofrece una solución llamada JasperServer CE, es muy robusto tener toda una plataforma de reportes con este producto, como sabemos esta es una versión comunitaria y no tiene las librerías correctas para generar los reportes en formato XLS, en consecuencia el formato en el diseño no se respeta, solo se logra una pequeña compatibilidad con Openoffice/LibreOffice, pero no es suficiente para un ambiente en producción con usuarios exigentes. Por otro lado, la comunicación entre una aplicación WEB y este servicio se establece mediante un WebService que usa SOAP como protocolo y otro protocolo semejante a MIME para transferencia de archivos. ¿Con todo esto se pone compleja la cosa no?. Por suerte los reportes generados en formato PDF se respeta completamente.
La consecuencia de este problema con el formato XLS, es muy simple, y es que no se están utilizando las librerías POI. Menos mal que la gente de Jasper tiene bajo licencia GPL3 las librerías y podemos adaptarlas en nuestra aplicación sin limitación alguna, claro que todo esto esta desarrollado en Java, ¿Cómo hacemos para integrarlo con PHP? Bueno vi varias soluciones, inclusive un conector muy rebuscado que permite la integración de Java con PHP y no me agrado, pensé inmediatamente ¿Por que no existe algo como htmldoc?, pero ¡tampoco existía en el momento que lo busque!, entonces decidí crear mi propia herramienta de línea de comandos para generar reportes, bautizándola como JRExportCmd.
Todavía se encuentra en desarrollo, pero tengo publicada una versión estable y una documentación básica para PHP en la Wiki, quiero invitar a todos mis lectores para que le den una oportunidad de uso y ayuden mediante sus criticas constructivas o aportes en el código fuente, en hacer una mejor aplicación.