Importando do Excel

Olá a todos!
Bem sou novo aki no forum e espero ajudar e ser ajudado em no que for preciso :lol:

Eu tenho uma dúvida e gostaria que alguem me ajudasse, vou tentar explicar:

Minha intensão é que o usuário envie dados do excel (tipo numa planilha tem nome, idade, endereço) e meu programa abra esses arquivos na interface (nome no campo nome, idade no campo idade e assim vai) isso é possível?
Se não for como faço a importação desses dados pra um textArea?

Pra exclarecer melhor:
no exel a pessoa insere nome idade …
no sistema ela seleciona o arquivo.xls e o proprio programa mostra nos campos os respectivos valores

espero ter sido claro e aguardo respostas :smiley:

Oi

Amiçao, seja bem vindo ao PJ… :):):):slight_smile:

Olhe, confira aí nos tutoriais de JDBC, tem como usar um XLS como DB…

http://www.portaljava.com/home/modules.php?name=Content

T+

Cara, brigadão
vo ver o que consigo fazer aki e qualquer dúvida vou postar :lol: muito obrigado pela recepção e estou muito empolgado com este forum que ajuda muito
abraços

eheheheh, fui testar hj mas to com problema :frowning:
“a URL é dada pelo protocolo JDBC, sub-protocolo ODBC e banco de dados JDBCTesteExcel (cadastrado no item ODBC do painel de controle do Windows)”
como faço isso?
eu fui em painel de controle -> fontes de dados ODBC(32 Bits) -> NFD de Sistema
Adicionar -> Driver do Microsoft Excel -> Concluir

o JBuilder retorna o erro assim :

java.sql.SQLException: [Microsoft][ODBC Driver Manager] Nome da fonte de dados não encontrado e nenhum driver padrão especificado

valeu

ehehehe, resolvido o problema!!!
agora tem outro :lol:
para teste, criei a mesma tabela do tutorial segue a linha de comando que fiz

stmt.execute(“Insert into Relacao (nome, id) values (“Jefferson”,”+23+")");

e ele retorna o erro

java.sql.SQLException: [Microsoft][Driver ODBC para Excel] Parâmetros insuficientes. Eram esperados 1.

nao entendi pq faço o mesmo no mysqlcc crio a tabela com o mesmo comando e executo o mesmo insert e ele funciona!

alguem pode ajudar?
ele retorna o erro

java.sql.SQLException: [Microsoft][Driver ODBC para Excel] Parâmetros insuficientes. Eram esperados 1.

nao entendi pq faço o mesmo no mysqlcc crio a tabela com o mesmo comando e executo o mesmo insert e ele funciona!

Oi

hummm, tu está usando isso para inserir

stmt.execute("Insert into Relacao (nome, id) values (\"Jefferson\","+23+")"); 

Certo, mas como tu criou esta tabela? Posta aí a Query que tu usou pra criar a tabela.

T+

opa,

Primeiro, pra cosseguir a conexao tive que criar um arquivo excel chamado relação(antes ele tava dando erro, e no drive odbc informar o caminho deste arquivo)
aih, jah no jbuilder eu mandei executar stmt.excute(“Create table Relacao (nome CHAR(35), id INT)”);
de mesmo nome do arquivo excel
qndo voltei e executei novamente ele retornou um erro dizendo q a tabela jah existia(lógico :lol: )
foi qndo troquei o comando do stmt.execute();por este
“Insert into Relacao (nome, id) values (“Jefferson”,”+23+")"
tentei ate usar o stmt.executeUpdate mas retorna o mesmo erro
java.sql.SQLException: [Microsoft][Driver ODBC para Excel] Parâmetros insuficientes. Eram esperados 1.

alguém??? preciso de ajuda plz

stmt.execute("Insert into Relacao (nome, id) values (\"Jefferson\","+23+")");

Este é o mesmo comando que está no código? Na íntegra?
Se for, acredito que haja algum erro no codigo, na passagem dos parâmetros. Não entendi direito uma coisa, você quer o valor “Jefferson” seja incluído na tabela, ou o valor Jefferson?
De qualquer forma, esse valor deve estar entre aspas, ou seja, se o valor a ser inserido é o valor “Jefferson” ficaria assim:

stmt.execute("Insert into Relacao (nome, id) values ("\"Jefferson\"","+23+");

ou caso seja o valor Jefferson ficaria assim:

stmt.execute("Insert into Relacao (nome, id) values ("Jefferson","+23+");

:wink:

ow mano, brigado pela atenção, eu quero que seja mesmo “Jefferson”
acontece que eu executei o comando

stmt.execute("Insert into Relacao (nome, id) values (\"Jefferson\","+23+");");

substituindo o

stmt.execute

por

JOptionPane.showMessageDialog(null,

e ele me retorna

Insert into Relacao (nome, id) values ("Jefferson",23);

o código está ok, mas ele continua retornando

java.sql.SQLException: [Microsoft][Driver ODBC para Excel] Parâmetros insuficientes. Eram esperados 1.

[quote=“djeff”]opa,

Primeiro, pra cosseguir a conexao tive que criar um arquivo excel chamado relação(antes ele tava dando erro, e no drive odbc informar o caminho deste arquivo)
aih, jah no jbuilder eu mandei executar stmt.excute(“Create table Relacao (nome CHAR(35), id INT)”);
de mesmo nome do arquivo excel
qndo voltei e executei novamente ele retornou um erro dizendo q a tabela jah existia(lógico :lol: )
foi qndo troquei o comando do stmt.execute();por este
“Insert into Relacao (nome, id) values (“Jefferson”,”+23+")"
tentei ate usar o stmt.executeUpdate mas retorna o mesmo erro
java.sql.SQLException: [Microsoft][Driver ODBC para Excel] Parâmetros insuficientes. Eram esperados 1.
[/quote]

"Insert into Relacao (nome, id) values (\"Jefferson\","+23+")"

se não me engano o erro é aí!

tente:

 "Insert into Relacao(nome id) values (\Jefferson\,23)"

beleza? :wink:

Agora sim encontrei a solução, :lol:
o problema estava aki:

stmt.execute("Insert into Relacao(nome,id) values ([b]"[/b]jeff[b]"[/b],45)");

no programa mysqlcc eu uso as aspas duplas, e no caso do excel tem que ser aspas simples, então o código final fica:

stmt.execute("Insert into Relacao(nome,id) values ('jefferson',23)");

ufa foi uma batalha :roll: agradeço a atenção de todos
se possível peço aos moderadores para editar esse tópico, simplificando ele e deixando as partes mais importantes, creio que esta não seja uma dúvida somente minha :lol:

abraços

Pocha, qndo achei que tava tudo ok, agora acho q não tem solução pro excel … :sad:
Fiz todos os teste via jdbc, fazendo insert, select, drop, etc… tudo funcionando ok
Aih fui no excel e adicionei mais dois registros logo abaixo dos registros criados pelo comando sql, salvei, fechei o excel, e qndo executo o programa pra mostrar os dados da tabela, ele só mostra os dados inseridos via jdbc, os que inseri manualmente não me mostra nada!!!

me disseram que eu teria que dar um refresh, mas a única coisa que encontrei foi um comando rst.refreshRow(); e independendo do lugar onde coloco o comando ele dah erro, então acho que não eh esse ae!!!

tem alguma forma pra arrumar isso?

kra tem uma api pra mexer com arquivos do Excel… pq vc naum usa ela???

eu já usei… e funciona normal…

tenho uma prog. simples q pegas as Celulas do Excel (C1,C2,C3) e salva em um arquivo de texto assim: c1;c2;c3;… pra mim poder usar em um outro prog…

de uma olhada neste site
http://www.andykhan.com/jexcelapi/