Foros del Web » Programando para Internet » PHP »

Exportar mysql a fichero csv

Estas en el tema de Exportar mysql a fichero csv en el foro de PHP en Foros del Web. Hola buenas a todo@s, gracias a vuestra ayuda sigo avanzando en el proyecto que tengo. Bien necesitaría ayuda a la hora de exportar una tabla ...
  #1 (permalink)  
Antiguo 14/08/2011, 07:45
 
Fecha de Ingreso: febrero-2011
Mensajes: 67
Antigüedad: 13 años, 2 meses
Puntos: 0
Exportar mysql a fichero csv

Hola buenas a todo@s,
gracias a vuestra ayuda sigo avanzando en el proyecto que tengo.

Bien necesitaría ayuda a la hora de exportar una tabla mysql a un fichero csv por columnas.

Actualmente este codigo me genera el fichero csv pero me guarda todos los datos en la primera columna y separados por ;


<?php
//CONSULTA

while ($reg = mysql_fetch_array($sql)) {
$shtml = $shtml.$reg["id_posicion"].",".$reg["id_clasi"].",".$reg["nombreE"].",".$reg["puntos"].",".$reg["partidosJ"].",".$reg["partidosG"].",".$reg["partidosE"].",".$reg["partidosP"].",".$reg["golesF"].",".$reg["golesC"]."\n";
}

header("Content-Description: File Transfer");
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=clasi.csv");
echo $shtml;
?>


Como puedo generar el csv separado por columnas?

Un Saludo

Gracias
  #2 (permalink)  
Antiguo 14/08/2011, 12:08
 
Fecha de Ingreso: julio-2011
Mensajes: 220
Antigüedad: 12 años, 8 meses
Puntos: 72
Respuesta: Exportar mysql a fichero csv

Esto se debe a la versión de excel que estas usando, no es lo mismo excel para hispanoamerica que excel para España la diferencia se halla en la forma de simbolizar el punto decimal, en america se usa un punto literalmente por ejemplo 3.1416 en España se usa una coma 3,1416 y ahi es donde surge la diferencia en los archivos .csv, ya que la versión de excel para España confunde la coma que debe separar cada columna con la "coma decimal" y no separa las columnas. La manera de resolver esto es usar ';' (punto y coma) en vez de ',' (coma). De esta manera.

Cita:
$shtml = $shtml.$reg["id_posicion"].";".$reg["id_clasi"].";".$reg["nombreE"].";".$reg["puntos"]."\r\n";
Tambien es recomendable terminar cada fila con un retorno de carro y salto de linea (\r\n) ya que asi el archivo de .csv es escrito por PHP linea por linea lo cual es conveniente al abrirlo con un editor de texto.

Etiquetas: csv, fichero, html, mysql, sql, 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 16:32.