Foros del Web » Programando para Internet » PHP »

Problemas al crear un Archivo Excel con PHP

Estas en el tema de Problemas al crear un Archivo Excel con PHP en el foro de PHP en Foros del Web. Saludos, estoy desarrollando en mi trabajo una aplicación Web con PHP y MySQL , que te muestra diferentes reportes semanales, que se van subiendo, evidentemente, ...
  #1 (permalink)  
Antiguo 22/11/2010, 14:56
Avatar de WingzemonX  
Fecha de Ingreso: noviembre-2010
Mensajes: 75
Antigüedad: 14 años
Puntos: 3
Problemas al crear un Archivo Excel con PHP

Saludos, estoy desarrollando en mi trabajo una aplicación Web con PHP y MySQL, que te muestra diferentes reportes semanales, que se van subiendo, evidentemente, cada semana, y te los muestra. Ahora me han pedido que no sólo se puedan ver en Internet, sino que también se puedan descargar en formal de Microsoft Office Excel. Es decir, pro ejemplo, que te muestre la tabla, y arriba en una esquina la opción de descargarlo en archivo xls.

En mi experiencia sé que con C# .NET se puede hacer muy fácil, pero con PHP aun tengo msi dudas. Lo hago de la siguiente manera:

Código PHP:
<?php
header
("Content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
header("Content-Disposition: attachment; filename= Prueba.xls");
header("Content-Transfer-Encoding: binary");
header("Pragma: no-cache");
header("Expires: 0");
?>
<table>

<!---Codigo PHP + HTML para crear la tabla--->

</table>
Y si me crea el archivo Excel, si lo descarga, y si me muestra las cosas como quiero. Pero me han surgido dos problemas que no he sabido como modificar:

PROBLEMA 1:
Al Descargar el archivo creado, con extensión xls, siempe me parece una ventana de error que dice:

"El Archivo que intenta abrir, 'Prueba.xls', tiene otro formato que el especificado pro la extensión de archivo. compruebe que el archivo no está dañado y procede de un origen de confianza antes de abrirlo, ¿Desea abrir el archivo ahora?"


Y al hacer clic en sí, me lo abre, pero es algo incomodo, en especial porque este archivo de excel lo descargara tambien gente externa y como que da mala imagen, y eso te aparece cada vez que quieres abrirlo. Intente cambiar la extensión:

[PHP]
Código PHP:
<?php
header
("Content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
header("Content-Disposition: attachment; filename= Prueba.xlsx");
header("Content-Transfer-Encoding: binary");
header("Pragma: no-cache");
header("Expires: 0");
?>
Pero ahora en lugar de eso, me surge OTRO error que dice:

"Excel no puede abrir el archivo 'Prueba.xlsx' porque el formato o la extensión de éste no son válidos. Compruebe que el archivo no se ha dañado y que la extensión del mismo coincide con el formato del archivo"


Y ahi si ya no me deja abrirlo. ¿Como puedo solucionar esto?





PROBLEMA 2:
Revisando me acabo de dar cuenta de un problema pero ahora entre el Office con diferentes idiomas. Por ejemplo, en la tabla yo hago:

Código PHP:
 <td align="right" bgcolor="#66CCFF" nowrap="nowrap"><b>=SUM(C3:C<?php echo $nlot 2?>)</b></td>
De tal forma que me queda algo como =SUM(C3:C10) en esa celda que es la suma de una columna. La cuestión es que esto solo me sirve si abro el archivo con un office en ingles, si lo abro con uno en español, obviamanete no me reconoce la funcion "SUM" ya que él conoce "SUMA". ¿Hay alguna forma más practica de solucionar este conflicto?


Muchas gracias de atemano,
  #2 (permalink)  
Antiguo 22/11/2010, 15:04
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 17 años, 1 mes
Puntos: 80
Respuesta: Problemas al crear un Archivo Excel con PHP

El 1er problema es que realmente no estas enviando un excel, en realidad lo interpreta y lo abre como planilla de calculo pero no es mas que puro HTML...

Prueba con la libreria PHPExcel de codeplex, que genera verdaderos excel...

Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #3 (permalink)  
Antiguo 22/11/2010, 19:13
Avatar de WingzemonX  
Fecha de Ingreso: noviembre-2010
Mensajes: 75
Antigüedad: 14 años
Puntos: 3
Respuesta: Problemas al crear un Archivo Excel con PHP

Cita:
Iniciado por portalmana Ver Mensaje
El 1er problema es que realmente no estas enviando un excel, en realidad lo interpreta y lo abre como planilla de calculo pero no es mas que puro HTML...

Prueba con la libreria PHPExcel de codeplex, que genera verdaderos excel...

Saludos
mmmm, eso explica muchas cosas realmente. Buscare esa libreria a ver si me funciona, aunque este se me facilitaba mucho porque ya tenia todo el procedimiento para darle forma a esa tabla, pero bueno.

Gracias por tu ayuda!

Etiquetas: excel
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:05.