| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2004 13:28:15
|
Felipe
Thread.start()
![[Avatar]](/images/avatar/05a5cf06982ba7892ed2a6d38fe832d6.jpg)
Membro desde: 04/11/2003 12:37:41
Mensagens: 47
Localização: Limeira/SP
Offline
|
Olá
Tenho um servlet q redireciona para um arquivo excel, q deve abrir pelo browser.
como faria isso?
eu usei:
o problema é que só funciona em máquinas com offie 2000
como faço para abir em máquinas com office 97?
|
Felipe Serpeloni |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2004 14:38:23
|
smota
Moderador
![[Avatar]](/images/avatar/ca9c267dad0305d1a6308d2a0cf1c39c.jpg)
Membro desde: 21/02/2003 16:19:19
Mensagens: 1647
Offline
|
Não faz.
A responsabilidade abrir o arquivo no browser ou fora dele ou de fazer o download é do browser, não sua (no servidor).
O máximo que você pode fazer é isso, seta o tipo da resposta pro browser, ai se ele tiver um plugin pra tratar o tipo de arquivo ele vai usa-lo, caso contrário vai pedir pra salvar.
|
"Perfection is reached not when there's nothing more to add but when there's no more to take out" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2004 14:41:44
|
Felipe
Thread.start()
![[Avatar]](/images/avatar/05a5cf06982ba7892ed2a6d38fe832d6.jpg)
Membro desde: 04/11/2003 12:37:41
Mensagens: 47
Localização: Limeira/SP
Offline
|
tudo bem
mas como eu faço isso?
quando é office 2000, ele mostra, mas quando é office 97, ele tenta abrir e dá erro
não deveria baixar o arquivo, já que não consegue abrir?
|
Felipe Serpeloni |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2004 14:44:10
|
smota
Moderador
![[Avatar]](/images/avatar/ca9c267dad0305d1a6308d2a0cf1c39c.jpg)
Membro desde: 21/02/2003 16:19:19
Mensagens: 1647
Offline
|
Hummmm ... vamos revisar.
Mesmo código gerando o arquivo excel, mesmo arquivo excel ... mesmo tudo e só abre no 2000?
Será que o arquivo não tem formato de 2000 e o Excel 97 não consegue abrir?
Diga a msg de erro, quando e como acontece ... ai dá pra chutar melhor.
|
"Perfection is reached not when there's nothing more to add but when there's no more to take out" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2004 14:51:22
|
Felipe
Thread.start()
![[Avatar]](/images/avatar/05a5cf06982ba7892ed2a6d38fe832d6.jpg)
Membro desde: 04/11/2003 12:37:41
Mensagens: 47
Localização: Limeira/SP
Offline
|
Eu to gerando o arquivo usando a api jxl.
se eu tento abrir o arquivo gerado pelo excel 97, ele abre normal, o problema é quando vai abrir pelo browser.
dá erro do programa, do excel
"o programa gerou erros e será fechado. blá, blá"
|
Felipe Serpeloni |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2004 15:21:42
|
smota
Moderador
![[Avatar]](/images/avatar/ca9c267dad0305d1a6308d2a0cf1c39c.jpg)
Membro desde: 21/02/2003 16:19:19
Mensagens: 1647
Offline
|
assim fica complicado chutar.
Você gera e depois redireciona o browser pro arquivo .xls gerado? Se sim entonces seu excel de teste tá zicado.
Se não ... então você gera o arquivo e cospe o conteúdo dele no browser usando o servlet ... revise seu código pq ele não deve estar mandando o EOF ou alguma outra coisa mas que o 2000 consegue se virar e o 97 não.
|
"Perfection is reached not when there's nothing more to add but when there's no more to take out" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2004 15:35:42
|
Felipe
Thread.start()
![[Avatar]](/images/avatar/05a5cf06982ba7892ed2a6d38fe832d6.jpg)
Membro desde: 04/11/2003 12:37:41
Mensagens: 47
Localização: Limeira/SP
Offline
|
A minha classe Relatorio gera o arquivo do excel, depois eu abro desse jeito:
o erro pode estar ai?
|
Felipe Serpeloni |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2004 16:05:51
|
massardi
JavaChild
![[Avatar]](/images/avatar/c8dd0cad3e1d5867b270d.jpg)
Membro desde: 16/10/2002 11:59:49
Mensagens: 125
Localização: São Paulo
Offline
|
Ai é que tá no servidor onde vc gera o aquivo excell, deve estar instalado o office 2000, um arquivo do office 2000 não abre no office 97 o contrario abre, mas o inverso não...
|
"Justo é o sutiã, que oprime os grandes, levanta os caídos, protege a todos e ainda disfarça os pequenos". |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2004 16:07:47
|
Felipe
Thread.start()
![[Avatar]](/images/avatar/05a5cf06982ba7892ed2a6d38fe832d6.jpg)
Membro desde: 04/11/2003 12:37:41
Mensagens: 47
Localização: Limeira/SP
Offline
|
No servidor está instalado o office 97
|
Felipe Serpeloni |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2004 16:16:00
|
smota
Moderador
![[Avatar]](/images/avatar/ca9c267dad0305d1a6308d2a0cf1c39c.jpg)
Membro desde: 21/02/2003 16:19:19
Mensagens: 1647
Offline
|
Hummm ... a API não deve usar o excel instalado, nem precisaria do excel pra gerar o arquivo.
Tem alguma coisa no buffer antes do dispatch?
Tente dar um reset no response:
Se não funcionar .... bem ... não conheço as entranhas da API mas o foward deveria funcionar, usando o reset tente trocar por include.
|
"Perfection is reached not when there's nothing more to add but when there's no more to take out" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2004 16:35:39
|
Felipe
Thread.start()
![[Avatar]](/images/avatar/05a5cf06982ba7892ed2a6d38fe832d6.jpg)
Membro desde: 04/11/2003 12:37:41
Mensagens: 47
Localização: Limeira/SP
Offline
|
smota
obrigado,
mas tentei dar reset no response
tb troquei forward por include, e naum dá certo
|
Felipe Serpeloni |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2004 16:58:23
|
smota
Moderador
![[Avatar]](/images/avatar/ca9c267dad0305d1a6308d2a0cf1c39c.jpg)
Membro desde: 21/02/2003 16:19:19
Mensagens: 1647
Offline
|
eitcha .. to quase indo ai hein :changes:
Nem um errinho no output ... exception ... logzinho ... qualquer coisinha?
Vamos recomeçar:
1. Ao visualizar seu servlet no micro com Excel97 o browser
a. Pergunta onde você quer salvar o arquivo
b. Abre o excel antes de baixar o arquivo
c. Baixa o arquivo sem perguntar nada e inicia o excel pra abrir o arquivo
d. M.N.D.A (m = merda, n = nenhuma, d = das, a = alternativas)
A próxima pergunta vem depois da resposta pra questão acima
|
"Perfection is reached not when there's nothing more to add but when there's no more to take out" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/03/2004 19:01:49
|
tanque
JavaTeenager
Membro desde: 17/04/2003 08:29:38
Mensagens: 171
Localização: Florianópolis / SC
Offline
|
Duas coisas que eu sugeriria seria o seguinte. Ao inves de dar o forward , que voce nao ira saber direito o que acontece por baixo dos panos (vai que ele reseta o content-type), voce pode abrir o arquivo excel e pegar o outputstream, e voce mesmo escrever os dados na saida do servlet.
Outra coisa que voce pode testar eh tentar um setar, alem do content-type, setar o content-length. Talvez o Excel 97 tenha que saber de antemao o tamanho do arquivo. Ja vi outras aplicacoes que precisam do content length setado na resposta.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/03/2004 10:47:14
|
Felipe
Thread.start()
![[Avatar]](/images/avatar/05a5cf06982ba7892ed2a6d38fe832d6.jpg)
Membro desde: 04/11/2003 12:37:41
Mensagens: 47
Localização: Limeira/SP
Offline
|
smota
ele baixa o arquivo, mas quando vai abrir q dá erro no excel.exe
ele nem pergunta se quer salvar
|
Felipe Serpeloni |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/03/2004 14:29:12
|
smota
Moderador
![[Avatar]](/images/avatar/ca9c267dad0305d1a6308d2a0cf1c39c.jpg)
Membro desde: 21/02/2003 16:19:19
Mensagens: 1647
Offline
|
Entonces faça um teste, mude o content-type para application/octet-stream
Isso deve forçar o download .... salve o arquivo no seu hd e tente abri-lo.
Se funcionar é porque o excel97 é xarope e não consegue abrir direto como ele está tentando (talvez a dica ai de cima se setar o content-length ajude neste caso).
Se não funcionar é porque Tanque tá certo ... você vai ter que abrir direto o arquivo ao invés de dar um foward (mas não pelo contet-type porque ele não muda já que o excel eh que tenta abrir o arquivo).
|
"Perfection is reached not when there's nothing more to add but when there's no more to take out" |
|
|
 |
|
|