Exportar os resultados de uma pesquisa Mysql para o excel?
a minha exigência é armazenar todos os resultados da consulta
SELECT * FROM document
WHERE documentid IN (SELECT * FROM TaskResult WHERE taskResult = 2429)
para um ficheiro Excel.
5 answers
Pode usar qualquer ferramenta da linha de comandos MySQL para o fazer, incluindo a cláusula
INTO OUTFILE
na sua declaração SELECT
:
SELECT ... FROM ... WHERE ...
INTO OUTFILE 'file.csv'
FIELDS TERMINATED BY ','
Ver esta ligação para Opções Detalhadas.
Em alternativa, poderá usar o mysqldump para guardar o 'dump' num formato de valores separado, usando a opção --tab, veja esta ligação.
mysqldump -u<user> -p<password> -h<host> --where=jtaskResult=2429 --tab=<file.csv> <database> TaskResult
Um bom exemplo pode ser quando for necessário escrevê-lo após o fim da sua consulta, se tiver ligações ou se estiver perto:
select 'idPago','fecha','lead','idAlumno','idTipoPago','idGpo'
union all
(select id_control_pagos, fecha, lead, id_alumno, id_concepto_pago, id_Gpo,id_Taller,
id_docente, Pagoimporte, NoFactura, FacturaImporte, Mensualidad_No, FormaPago,
Observaciones from control_pagos
into outfile 'c:\\data.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n');
Utilize a pesquisa abaixo:
SELECT * FROM document INTO OUTFILE 'c:/order-1.csv' FIELDS TERMINATED BY ','
ENCLOSED BY '"' LINES TERMINATED BY '\n';
mysql -h hostname -d databasename -u username -ppwd -e "mysql simple sql statement that last for less than a line" > outputfile_on_the.client
Pode colocar a sua consulta complicada num ficheiro: longquery_ file.banco o comando Executar
mysql -h hn -d dn -u un -ppwd < longquery_file.sql > output.txt
Isto funcionou comigo. A única dificuldade comigo é o carácter de tabulação que às vezes uso para o group_cancat (separador foo 0x09) será escrito como '\t ' no ficheiro de saída. O carácter 0x09 é a página ASCII. Mas este problema não é particular para a forma como nós descarregamos os resultados sql para o arquivo. Pode estar relacionado com o meu pager. Avisa-me quando encontrares uma resposta para este problema. Vou actualizar este post.
ODBC Queries - isto é um pouco mais complicado de configurar, mas é muito mais flexível. Por exemplo, o MySQL para O Excel add-in não lhe permite usar as cláusulas WHERE
nas expressões da consulta. A flexibilidade deste método também permite que você use os dados de formas mais complexas.
MySQL For Excel - Use este add-in se você não precisa fazer nada complexo com a consulta ou se você precisa obter algo realizado de forma rápida e fácil. Você pode fazer visualizações em seu banco de dados para contornar algumas das limitações da consulta.