Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Mysql a Excel (no cvs)

Estas en el tema de Mysql a Excel (no cvs) en el foro de Mysql en Foros del Web. Hola me gustaría exportar de MySql a Excel (no a cvs) como podría ser de la siguiente manera: SELECT * INTO OUTFILE 'c:/archivo.csv' FIELDS TERMINATED ...
  #1 (permalink)  
Antiguo 27/06/2012, 08:13
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 18 años, 7 meses
Puntos: 0
Mysql a Excel (no cvs)

Hola

me gustaría exportar de MySql a Excel (no a cvs) como podría ser de la siguiente manera:


SELECT *
INTO OUTFILE 'c:/archivo.csv'
FIELDS TERMINATED BY ';'
LINES TERMINATED BY '\n'
FROM tabla;


Pero esto genera un archivo .csv y los campos terminan en ";" y no en columnas como un archivo ".xls" normal y corriente.

Se puede añadir alguna cabecera como en PHP tipo:

header('Content-type: application/vnd.ms-excel');
...
..

Gracias,

Un saludo.
  #2 (permalink)  
Antiguo 28/06/2012, 02:42
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Mysql a Excel (no cvs)

No.

Pero un csv excel lo abre sin problemas como si fuera un xls. De hecho windows asocia los archivos con extensión .csv a excel....

Lo unico que te puede estar fallado es que excel este buscando "," (coma) como separador de campos y tu estes generando ";" (punto y coma). Busca en las opciones de configuración de excel o cambia FIELDS TERMINATED BY ';' por FIELDS TERMINATED BY ',' o el separador que tengas configurado en excel....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 28/06/2012, 04:35
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: Mysql a Excel (no cvs)

Bueno el problema no es abrirlo sino verlo en diferentes columnas, y tanto si pongo FIELDS TERMINATED BY ';' como si pongo FIELDS TERMINATED BY ',' aparece siempre en la primera columna todo una línia separado por el caráctec "fields terminated by".

Por eso necesitaría que fuése xls para que aparecierá en columnas.

Un saludo y gracias
  #4 (permalink)  
Antiguo 28/06/2012, 05:21
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Mysql a Excel (no cvs)

Mi excel lo abre perfectamente si el delimitador es "," pero separar por la coma en castellano puede traer problemas con la coma decial.... no encuentro la opción donde cambiar el separador en excel.

Pero tienes una alternativa

En excel

Datos > Obtener datos externos > Importar achivo de texto (Buscas el csv)

Asistente para importación de texto

1/3 Delimitados
2/3 Punto y coma
3/3 Finalizar

Seleccionas la celda destino Intro
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #5 (permalink)  
Antiguo 28/06/2012, 05:52
 
Fecha de Ingreso: septiembre-2005
Mensajes: 522
Antigüedad: 18 años, 7 meses
Puntos: 0
Respuesta: Mysql a Excel (no cvs)

El mío también lo abre pero todo en la columna A.



Los pasos que me has pasado son perfectos, puedo poner en columnas todos los campos que están separados por "," o por ";" o por el delimitador que quiera (gracias por esta información, no sabía que se podía hacer esto con excel)


Pero .... sigo con el problema de que debería ser automáticamente, es decir, generar el excel en campos.


(Los clientes que son muy exigentes :P)


Gracias,
un saludo
  #6 (permalink)  
Antiguo 28/06/2012, 06:54
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Mysql a Excel (no cvs)

Que Excel pueda interpretar correctamente las columnas de un .CSV depende exclusivamente del separador de listas por defecto de Windows.
Suele haber problemas si el separador de listas es ";", y estás poniendo "," y viceversa. Pero también suele haber problemas porque alguno "genios" personalizan su Windows cambiando el separador de listas, y le ponen el mismo símbolo que el separador de grupos o cosas así.
A veces cambian la coma decimal por el punto, o el punto por la coma, sin cambiar el de grupos, y entonces el filtro de Excel no lo puede interpretar bien.

Consejos:
1) Separa los campos por comas, y no punto y coma.
2) Que los valores decimales se generen con punto, y no coma.
3) Verifica que los valores de separadores de listas, grupos y decimales en Windows estén correctamente configurados (esto no afecta el funcionamiento interno de mySQL, pero sí afecta a Excel).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: excel, php, select, sql, tabla, tipo, campos
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 08:43.