¿Puedo crear de manera confiable documentos de Excel desde una aplicación PHP en un servidor Linux?

StackOverflow https://stackoverflow.com/questions/226052

  •  03-07-2019
  •  | 
  •  

Pregunta

¿Cuál es el estado que genera los documentos de Excel desde una aplicación PHP en un servidor Linux?

Me interesa crear archivos de Excel de Office 97 (xls). Mi investigación limitada sobre el tema ha encontrado este paquete de Pear . Parece estar en estado beta desde 2006.

¿Puede compartir sus éxitos o fracasos en la generación de archivos de Excel desde PHP? ¿Existe una herramienta confiable y madura disponible?

Actualización: para esta aplicación necesito generar un archivo de Excel, no solo un archivo CSV.

¿Fue útil?

Solución

¡Hay algo mucho mejor que el paquete PEAR que hay!

PHPExcel

Otros consejos

He usado ese paquete PEAR y me funciona muy bien para los archivos compatibles con Office '97 -2000.

Si es una hoja de cálculo simple, Office también puede manejar CSV, que PHP puede dar salida de forma nativa y sencilla .

¿Qué te parece usar tablas (una hoja de cálculo es una tabla, entonces está bien) y lanzar estas líneas en la parte superior de la secuencia de comandos PHP que produce la (s) tabla (s):

header("Content-Type: application/vnd.ms-excel");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

O simplemente puede producir un archivo CSV, ya que Excel puede abrirlos muy bien.

He usado el paquete PEAR con mucho éxito, pero existen algunas limitaciones al implementar fórmulas complejas. Tiene algo que ver con la forma en que Excel almacena la fórmula, junto con el último resultado calculado. A veces, aunque la fórmula es correcta, al abrir la hoja por primera vez, las celdas se muestran como vacías. Una vez que la celda tiene el foco y luego pierde el foco, se realiza el cálculo y se completa la celda.

La biblioteca es en realidad un puerto de una biblioteca Perl, que es un poco más completa pero tiene los mismos problemas.

He usado PERL Spreadsheet :: WriteExcel en varios proyectos sin problema. Es posible que necesite hacer algunos arreglos y envoltorios para mejorar la funcionalidad y hacerlo más fácil, pero lo encuentro bien.

Me gusta porque su plataforma es independiente, rápida y fácil de configurar.

La forma más fácil es, de hecho, usar el encabezado para " falsificar " un archivo de Excel. Aquí está el código para iniciar una descarga como un archivo de Excel, el Excel del cliente simplemente analizará cualquier código HTML que se encuentre (tablas, csv, ...) y lo mostrará en un formato similar a Excel.

header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=excel.xls");

Todo está en estado beta hoy en día. ¿Realmente necesitas archivos de Excel con forumlas y todo eso o simplemente necesitas abrir una lista de registros en Excel para trabajar?

Generalmente, he encontrado que cuando un cliente quiere un archivo de Excel, realmente puedo generar un archivo CSV y pueden trabajar en él y agregar las fórmulas que deseen después del hecho.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top