Dados de uma planilha para o MySQL

6 respostas
miko_chin

Olá pessoal,

Gostaria de uma ajuda, uma idéia qualquer para pegar dados que estão em uma planilha no Calc (BrOffice) e colocá-los no MySQL. Cada linha, com seus vários campos, equivaleria a um registro na tabela.
Tentei fazer o MySQL ler a planilha, transformada em CSV, mas não deu muito certo.
Alguém sabe uma maneira eficiente de fazer isso?

Valeu a atenção…

6 Respostas

ramilani12

De uma olhada nas Classes BufferedReader , FileReader e StringTokenizer
As duas primerias trabalham com Stream de Caracteres

miko_chin

Bom, eu não falei que seria em Java, mas não tem problema. É que preciso passar esses dados ao MySQL porque vou ter que fazer um select com restrições com eles depois… :!:

miko_chin

Bom, consegui fz o csv funcionar, só que estou com um problema com datas! Preciso que o mysql leia as datas do arquivo no formato dd/mm/yyyy!

:-o

Ironlynx
Use um SimpleDateFormat!

Algo do tipo:



SimpleDateFormat formatoData = new SimpleDateFormat(dd/MM/yyyy);

Date data = new Date();

System.out.println(formatoData.format(data));
E se vc tiver colocando no MySQL é  mudar a ordemou seja, o nosso objeto java é um java.util.Date, mas o jdbc trabalha com java.sql.Date,  para o banco vc teria q fazer um:



Date data = new Date();

PreparedStatement query = ;

query.setDate(1,new java.sql.Date(data.getTime()));
ramilani12

Creio que há uma coluna de datas no seu CVS , mude o formato da data para yyyy-mm-dd , é esse formato do mysql para date isso para carga da planilha para mysql

Para leitura da data utilize a função DATE_FORMAT() para formatar a data
Ex:

// Nesse caso INSERT

INSERT INTO tabela (data) VALUES(DATE_FORMAT('06/04/2007','%Y-%m-%d'))

//SELECT

SELECT DATE_FORMAT(data,'%d/%m/%Y')
miko_chin

Muito obrigada!

:smiley:

Criado 5 de abril de 2007
Ultima resposta 8 de abr. de 2007
Respostas 6
Participantes 3