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
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
D
djeffPJ
eheheheh, fui testar hj mas to com problema “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
D
djeffPJ
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!
D
djeffPJ
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!
J
jeveauxPJ
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+
D
djeffPJ
opa,
Primeiro,pracosseguiraconexaotivequecriarumarquivoexcelchamadorelação(anteseletavadandoerro,enodriveodbcinformarocaminhodestearquivo)aih,jahnojbuildereumandeiexecutarstmt.excute(“CreatetableRelacao(nomeCHAR(35),idINT)”);demesmonomedoarquivoexcelqndovolteieexecuteinovamenteeleretornouumerrodizendoqatabelajahexistia(lógico:lol:)foiqndotroqueiocomandodostmt.execute();poreste“InsertintoRelacao(nome,id)values(“Jefferson”,”+23+")"tenteiateusarostmt.executeUpdatemasretornaomesmoerrojava.sql.SQLException:[Microsoft][Driver ODBC para Excel]Parâmetrosinsuficientes.Eramesperados1.
D
djeffPJ
alguém??? preciso de ajuda plz
T
thaiPJ
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+");
D
djeffPJ
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
InsertintoRelacao(nome,id)values("Jefferson",23);
o código está ok, mas ele continua retornando
java.sql.SQLException:[Microsoft][Driver ODBC para Excel]Parâmetrosinsuficientes.Eramesperados1.
R
Rubem_AzenhaPJ
“djeff”:
opa,
Primeiro,pracosseguiraconexaotivequecriarumarquivoexcelchamadorelação(anteseletavadandoerro,enodriveodbcinformarocaminhodestearquivo)aih,jahnojbuildereumandeiexecutarstmt.excute(“CreatetableRelacao(nomeCHAR(35),idINT)”);demesmonomedoarquivoexcelqndovolteieexecuteinovamenteeleretornouumerrodizendoqatabelajahexistia(lógico:lol:)foiqndotroqueiocomandodostmt.execute();poreste“InsertintoRelacao(nome,id)values(“Jefferson”,”+23+")"tenteiateusarostmt.executeUpdatemasretornaomesmoerrojava.sql.SQLException:[Microsoft][Driver ODBC para Excel]Parâmetrosinsuficientes.Eramesperados1.</blockquote>
"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?
D
djeffPJ
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
D
djeffPJ
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?
I
italobrazPJ
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…