Foros del Web » Programando para Internet » PHP »

al exportar a excel se pierde codificacion y colores

Estas en el tema de al exportar a excel se pierde codificacion y colores en el foro de PHP en Foros del Web. Hola buen dia a todo Tengo un problema quiero exportar un tabla que es el resultado de una consulta estooy empleado jquery, emplee esta forma ...
  #1 (permalink)  
Antiguo 20/01/2012, 17:43
 
Fecha de Ingreso: enero-2012
Ubicación: Mexico Df
Mensajes: 95
Antigüedad: 12 años, 3 meses
Puntos: 6
al exportar a excel se pierde codificacion y colores

Hola buen dia a todo

Tengo un problema quiero exportar un tabla que es el resultado de una consulta
estooy empleado jquery, emplee esta forma http://webintenta.com/exportar-tablas-html-a-excel-con-php-y-jquery.html

en mi servidor de pruebas me exporta bien todo y con los colores bien y la codificaion tambien pero en mi servidor la exportacion la hace mal sin colores y sin codificacion

Esto uso para exportar la tabla

Código PHP:
header("Content-type: application/vnd.ms-excel; name='excel'");
header("Content-Disposition: filename=ficheroExcel.xls");
header("Pragma: no-cache");
header("Expires: 0");
echo 
$_POST['datos_a_enviar']; 
si le añado una meta con el la codifcacion utf-8 o le añado header con la codificacion utf8 , ya no me generar el excel nada mas me muestra el html

y aparte miro el codigo de la pagina y me quita las comillas y me pone "\" un barra invertidad sobre los estilos

Código HTML:
Ver original
  1. <TABLE id=Exportar_a_Excel border=1 cellSpacing=0 width=\"95%\" align=center cellpading=\"0\">
  2. <TR>
  3. <TD style=\"BACKGROUND-COLOR: rgb(236,236,40)\" id=td_naranja height=96 align=middle><IMG align=left src=\"img/ci_logo.PNG\"><BR>
  4. <DIV id=titulo_estilo1><STRONG>REPORTE DE ENCUESTAS RECREMEX Y GEPROCAR<BR></STRONG><BR>
  5. <DIV id=font_negritas><STRONG>REPORTE DE 01/01/2012 A 25/01/2012</STRONG></DIV></DIV></TD>
  6. <TH style=\"BACKGROUND-COLOR: rgb(236,236,40)\" id=td_naranja align=middle>
  7. <DIV id=total_encuestas><STRONG>Total de encuestas: 23</STRONG></DIV></TH></TR>
  8. <TR>
  9. <TH style=\"BACKGROUND-COLOR: #ccc\" id=td_gris width=\"80%\"><STRONG>Preguntas</STRONG></TH>
  10. <TH style=\"BACKGROUND-COLOR: #ccc\" id=td_gris width=\"20%\"><STRONG>No. de Respuestas</STRONG></TH></TR>
  11. <TR>
  12. <TD style=\"BACKGROUND-COLOR: rgb(215,243,113)\" id=td_preguntas>1.- ¿Cual fue el motivo por el que acepto el trabajo ?</TD>
  13. <TD style=\"BACKGROUND-COLOR: rgb(215,243,113)\" id=td_preguntas></TD></TR>
  14. <TR>
  15. <TD style=\"ackground-color: #fff\" id=td_blanco>Estaba de vacaciones y decidí trabajar</TD>
  16. <TD style=\"ackground-color: #fff\" id=td_blanco align=middle>1</TD></TR>
  17. <TR>
  18. <TD style=\"ackground-color: #fff\" id=td_blanco>Me parecío atractivo trabajar por medio tiempo combinándolo con mis estudios.</TD>
  19. <TD style=\"ackground-color: #fff\" id=td_blanco align=middle>14</TD></TR>
  20. <TR>
  21. <TD style=\"ackground-color: #fff\" id=td_blanco>Necesitaba el empleo por dificultades económicas, aun cuando no tenia experiencia en el puesto.</TD>
  22. <TD style=\"ackground-color: #fff\" id=td_blanco align=middle>4</TD></TR>
  23. <TR>
  24. <TD style=\"ackground-color: #fff\" id=td_blanco>Ya tenia experiencia en el puesto, por lo que sabia que se me hiba a facilitar.</TD>
  25. <TD style=\"ackground-color: #fff\" id=td_blanco align=middle>3</TD></TR>
  26. <TR>
  27. <TD style=\"ackground-color: #fff\" id=td_blanco>Me interesoel puesto ya que tenia que convencer a la gente de algo (pagar / comprar)</TD>
  28. <TD style=\"ackground-color: #fff\" id=td_blanco align=middle>1</TD></TR>
  29. <TR>
  30. <TD style=\"BACKGROUND-COLOR: #ccc\" id=td_gris align=right>Total</TD>
  31. <TD style=\"BACKGROUND-COLOR: #ccc\" id=td_gris align=middle>
  32. <DIV id=font_negritas><STRONG>23</STRONG></DIV></TD></TR>


que puedo hacer? sera algo del php ini? algo de la version de php? o que puedo ser

Gracias
  #2 (permalink)  
Antiguo 20/01/2012, 22:09
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: al exportar a excel se pierde codificacion y colores

Holas,

Haz probado en el momento de imprimir con htmlentities o utf8_encode? :
Código PHP:
Ver original
  1. header("Content-type: application/vnd.ms-excel; name='excel'");
  2. header("Content-Disposition: filename=ficheroExcel.xls");
  3. header("Pragma: no-cache");
  4. header("Expires: 0");
  5. echo utf8_encode($_POST['datos_a_enviar']);


Saludos
__________________
.: Gildus :.
  #3 (permalink)  
Antiguo 21/01/2012, 18:42
 
Fecha de Ingreso: enero-2012
Ubicación: Mexico Df
Mensajes: 95
Antigüedad: 12 años, 3 meses
Puntos: 6
Respuesta: al exportar a excel se pierde codificacion y colores

Hola gracias pero no me funciono tendre que configurar algo del apache o de php¿¿?? ya que como me lo exporta se me hace muy raro

Código HTML:
Ver original
  1. <TR>
  2. <TD style=\"BACKGROUND-COLOR: rgb(236,236,40)\" id=td_naranja height=96 align=middle><IMG align=left src=\"img/ci_logo.PNG\"><BR>
  3. <DIV id=titulo_estilo1><STRONG>REPORTE DE ENCUESTAS RECREMEX Y GEPROCAR<BR></STRONG><BR>
  4. <DIV id=font_negritas><STRONG>REPORTE DE 01/01/2012 A 25/01/2012</STRONG></DIV></DIV></TD>
  5. <TH style=\"BACKGROUND-COLOR: rgb(236,236,40)\" id=td_naranja align=middle>
  6. <DIV id=total_encuestas><STRONG>Total de encuestas: 23</STRONG></DIV></TH></TR>
  7. <TR>
  8. <TH style=\"BACKGROUND-COLOR: #ccc\" id=td_gris width=\"80%\"><STRONG>Preguntas</STRONG></TH>
  9. <TH style=\"BACKGROUND-COLOR: #ccc\" id=td_gris width=\"20%\"><STRONG>No. de Respuestas</STRONG></TH></TR>
  10. <TR>
  11. <TD style=\"BACKGROUND-COLOR: rgb(215,243,113)\" id=td_preguntas>1.- ¿Cual fue el motivo por el que acepto el trabajo ?</TD>
  12. <TD style=\"BACKGROUND-COLOR: rgb(215,243,113)\" id=td_preguntas></TD></TR>
  13. <TR>
  14. <TD style=\"ackground-color: #fff\" id=td_blanco>Estaba de vacaciones y decidí trabajar</TD>
  15. <TD style=\"ackground-color: #fff\" id=td_blanco align=middle>1</TD></TR>
  16. <TR>
  17. <TD style=\"ackground-color: #fff\" id=td_blanco>Me parecío atractivo trabajar por medio tiempo combinándolo con mis estudios.</TD>
  18. <TD style=\"ackground-color: #fff\" id=td_blanco align=middle>14</TD></TR>
  19. <TR>
  20. <TD style=\"ackground-color: #fff\" id=td_blanco>Necesitaba el empleo por dificultades económicas, aun cuando no tenia experiencia en el puesto.</TD>
  21. <TD style=\"ackground-color: #fff\" id=td_blanco align=middle>4</TD></TR>
  22. <TR>
  23. <TD style=\"ackground-color: #fff\" id=td_blanco>Ya tenia experiencia en el puesto, por lo que sabia que se me hiba a facilitar.</TD>
  24. <TD style=\"ackground-color: #fff\" id=td_blanco align=middle>3</TD></TR>
  25. <TR>
  26. <TD style=\"ackground-color: #fff\" id=td_blanco>Me interesoel puesto ya que tenia que convencer a la gente de algo (pagar / comprar)</TD>
  27. <TD style=\"ackground-color: #fff\" id=td_blanco align=middle>1</TD></TR>
  28. <TR>
  29. <TD style=\"BACKGROUND-COLOR: #ccc\" id=td_gris align=right>Total</TD>
  30. <TD style=\"BACKGROUND-COLOR: #ccc\" id=td_gris align=middle>
  31. <DIV id=font_negritas><STRONG>23</STRONG></DIV></TD></TR>
  #4 (permalink)  
Antiguo 21/01/2012, 19:08
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: al exportar a excel se pierde codificacion y colores

No es nada de configuracion en el PHP ni menos en el apache. Porque no intentas con cambiar:

Cita:
\" por '
Es decir por comillas simples.

Saludos
__________________
.: Gildus :.
  #5 (permalink)  
Antiguo 21/01/2012, 19:27
 
Fecha de Ingreso: enero-2012
Ubicación: Mexico Df
Mensajes: 95
Antigüedad: 12 años, 3 meses
Puntos: 6
Respuesta: al exportar a excel se pierde codificacion y colores

ola de nuevo

mi diseño original es

Código HTML:
Ver original
  1. <table width="95%" border="1" align="center" cellspacing="0" cellpadin="0" id="Exportar_a_Excel">
  2.     <tr><td height="70" align="center" id="td_naranja">
  3.         <img src="img/ci_logo.PNG" align="left"/><br><div id="titulo_estilo1">REPORTE DE ENCUESTAS RECREMEX Y GEPROCAR<BR><br>
  4.         <div id="font_negritas">REPORTE DE 01/01/2012 A 03/01/2012 </div>
  5.         </div></td>
  6.         <td align="center" id="td_naranja"><div id="total_encuestas">Total de enncuestas: 0</div></TD>
  7.     </tr>
  8.     <tr>
  9.         <th width="80%" id="td_gris">Preguntas</th>
  10.         <th width="20%" id="td_gris">No. de Respuestas</th>
  11.     </tr>
  12. <tr><td <td id="td_preguntas">1.- ¿Cual fue el motivo por el que acepto el trabajo ?</td><td <td id="td_preguntas"></td></tr>

como puedes ver todo esta en minisculas con las comillas en donde deben de estar, todo esta bien al momento de pasarlo excel se transforma asi



Código HTML:
Ver original
  1. <TR>
  2. <TD style=\"BACKGROUND-COLOR: rgb(236,236,40)\" id=td_naranja height=96 align=middle><IMG align=left src=\"img/ci_logo.PNG\"><BR>
  3. <DIV id=titulo_estilo1><STRONG>REPORTE DE ENCUESTAS RECREMEX Y GEPROCAR<BR></STRONG><BR>
  4. <DIV id=font_negritas><STRONG>REPORTE DE 01/01/2012 A 25/01/2012</STRONG></DIV></DIV></TD>
  5. <TH style=\"BACKGROUND-COLOR: rgb(236,236,40)\" id=td_naranja align=middle>
  6. <DIV id=total_encuestas><STRONG>Total de encuestas: 23</STRONG></DIV></TH></TR>
  7. <TR>
  8. <TH style=\"BACKGROUND-COLOR: #ccc\" id=td_gris width=\"80%\"><STRONG>Preguntas</STRONG></TH>
  9. <TH style=\"BACKGROUND-COLOR: #ccc\" id=td_gris width=\"20%\"><STRONG>No. de Respuestas</STRONG></TH></TR>
  10. <TR>
  11. <TD style=\"BACKGROUND-COLOR: rgb(215,243,113)\" id=td_preguntas>1.- ¿Cual fue el motivo por el que acepto el trabajo ?</TD>
  12. <TD style=\"BACKGROUND-COLOR: rgb(215,243,113)\" id=td_preguntas></TD></TR>
  13. <TR>
  14. <TD style=\"ackground-color: #fff\" id=td_blanco>Estaba de vacaciones y decidí trabajar</TD>
  15. <TD style=\"ackground-color: #fff\" id=td_blanco align=middle>1</TD></TR>
  16. <TR>
  17. <TD style=\"ackground-color: #fff\" id=td_blanco>Me parecío atractivo trabajar por medio tiempo combinándolo con mis estudios.</TD>
  18. <TD style=\"ackground-color: #fff\" id=td_blanco align=middle>14</TD></TR>
  19. <TR>
  20. <TD style=\"ackground-color: #fff\" id=td_blanco>Necesitaba el empleo por dificultades económicas, aun cuando no tenia experiencia en el puesto.</TD>
  21. <TD style=\"ackground-color: #fff\" id=td_blanco align=middle>4</TD></TR>
  22. <TR>
  23. <TD style=\"ackground-color: #fff\" id=td_blanco>Ya tenia experiencia en el puesto, por lo que sabia que se me hiba a facilitar.</TD>
  24. <TD style=\"ackground-color: #fff\" id=td_blanco align=middle>3</TD></TR>
  25. <TR>
  26. <TD style=\"ackground-color: #fff\" id=td_blanco>Me interesoel puesto ya que tenia que convencer a la gente de algo (pagar / comprar)</TD>
  27. <TD style=\"ackground-color: #fff\" id=td_blanco align=middle>1</TD></TR>
  28. <TR>
  29. <TD style=\"BACKGROUND-COLOR: #ccc\" id=td_gris align=right>Total</TD>
  30. <TD style=\"BACKGROUND-COLOR: #ccc\" id=td_gris align=middle>
  31. <DIV id=font_negritas><STRONG>23</STRONG></DIV></TD></TR>

los td tr th, los div los convierte a mayuscalas las comillas las converte asi \" o las quita no se por que pasa esto

en mi servidor de prueba lo tengo con XAMPP y funciona perfecto lo covierte bien a excel pero en el servidor de produccion pasa esto por eso pense que era php o el apache

estoy usando jquery para enviar toda la tabla por post a la pagina pho para que la genere o alguna otra solucion para generar el excel??

uso estos scripts

Código HTML:
Ver original
  1. <form action="ficheroExcel.php" method="post" target="_blank" id="FormularioExportacion">
  2. <p>Exportar a Excel  <img src="export_to_excel.gif" class="botonExcel" /></p>
  3. <input type="hidden" id="datos_a_enviar" name="datos_a_enviar" />
  4. </form>

Código Javascript:
Ver original
  1. <script language="javascript">
  2. $(document).ready(function() {
  3.      $(".botonExcel").click(function(event) {
  4.      $("#datos_a_enviar").val( $("<div>").append( $("#Exportar_a_Excel").eq(0).clone()).html());
  5.      $("#FormularioExportacion").submit();
  6. });
  7. });
  8. </script>

Muchas gracias
  #6 (permalink)  
Antiguo 22/01/2012, 07:41
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: al exportar a excel se pierde codificacion y colores

Es muy raro, que lo cambie asi, pero en el jquery porque no usas:

Código Javascript:
Ver original
  1. $("#datos_a_enviar").val( $("#Exportar_a_Excel").html() );

Creo que alli esta el detalle, en el jquery al clonarlo. I las imagenes por ejemplo:

Cita:
<img src="img/ci_logo.PNG" align="left"/>
Eso no te los va ha reconocer en el excel, a lo mucho te dejara un bloque en blanco, pero no te saldra la imagen, para eso tendrias que ponerle la URL completa de la imagen algo como:

Cita:
<img src="http://www.tuservidor.com/img/ci_logo.PNG" align="left"/>
Saludos
__________________
.: Gildus :.
  #7 (permalink)  
Antiguo 22/01/2012, 21:57
 
Fecha de Ingreso: enero-2012
Ubicación: Mexico Df
Mensajes: 95
Antigüedad: 12 años, 3 meses
Puntos: 6
Respuesta: al exportar a excel se pierde codificacion y colores

Hola d nuevo

gracias por la ayuda probe la solucion que me diste pero no me funciona me pone todo el codigo html dentro de la tabla

hay otra forma de exportar esta tabla a excel??


Gracias
  #8 (permalink)  
Antiguo 22/01/2012, 23:27
 
Fecha de Ingreso: enero-2012
Ubicación: Mexico Df
Mensajes: 95
Antigüedad: 12 años, 3 meses
Puntos: 6
Respuesta: al exportar a excel se pierde codificacion y colores

ola ya pude solucionar el problema de la exportacion

eran las magic_quotes de php las deshabilite y listo muchas gracias

el problema que tengo ahora es la codificacion de los caractares como puedo codificarlos para que excel los muestre bien



Código PHP:
header("Content-type: application/vnd.ms-excel; name='excel'"); 
header("Content-Disposition: filename=ficheroExcel.xls"); 
header("Pragma: no-cache"); 
header("Expires: 0"); 
echo 
$_POST['datos_a_enviar']; 
si a estas lineas le pongo otro header especificando la codificacion, ya no me aparece el archivo de excel para descargarlo que puedo hacer?
  #9 (permalink)  
Antiguo 15/04/2013, 11:18
 
Fecha de Ingreso: abril-2013
Mensajes: 1
Antigüedad: 11 años
Puntos: 0
Respuesta: al exportar a excel se pierde codificacion y colores

Aunque el post es viejo, aca esta la solucion para este metodo:

<?php
header("Content-type: application/vnd.ms-excel; name='excel'; charset=utf-8");
header("Content-Disposition: filename=ficheroExcel.xls");
header("Pragma: no-cache");
header("Expires: 0");

echo utf8_decode($_POST['datos_a_enviar']);

?>
  #10 (permalink)  
Antiguo 23/03/2017, 07:32
 
Fecha de Ingreso: enero-2011
Mensajes: 1
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: al exportar a excel se pierde codificacion y colores

estas es la respuesta correcta:
$file="plan_mensual.xls";
header("Content-type: application/vnd.ms-excel; name='excel'; charset=utf-8");
header("Content-Disposition: filename=$file");
header("Pragma: no-cache");
header("Expires: 0");
echo utf8_decode($view);
  #11 (permalink)  
Antiguo 23/03/2017, 20:18
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 9 años, 9 meses
Puntos: 30
Respuesta: al exportar a excel se pierde codificacion y colores

Para la próxima. porque no utilizas la libreria PHPExcel?

Etiquetas: codificacion, colores, excel, html, pierde, tabla
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 21:50.