Duvida JAsper salvar em disco arquivo xls (client do usuário aplicação WEB)

3 respostas
P

Olá ,
tenho um arquivo jasper .
alguém teria um exemplo de como faço pra salvar um arquivo xls em disco ,
onde via jsp vou passar o diretório que o usuário escolheu pra salvar …
Abaixo o codigo que estou usando pra mostrar na tela …
Alguém teria algum exemplo …

abs

--hoje essa rotina gera pdf e mostra na tela jsp
--queria outra rotina pra gerar arquivo xls em arquivo do client (usuario) Web
 response.setContentType(CONTENT_TYPE_PDF);     
		    byte[] bytes = JasperRunManager.runReportToPdf(jasperURL.openStream(), parameters, con);     
			if (bytes != null) {     
			     ops = response.getOutputStream();     
			     ops.write(bytes);     
			     ops.flush();  
			     ops.close();  
			                       
			}

3 Respostas

k1tsune

Dae paribe!

O response já não cuida disso pra você? Aqui setamos dessa forma:

HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
	response.setContentType("application/excel");
	response.setHeader("Content-Disposition","attachment; filename=seu_arquivo.xls");

A popup pra download ou visualização abre pelo browser mesmo, daí o usuário escolhe aonde salvar e ele faz todo o resto, você não precisa programar nada mais. Deve ter falando no fórum sobre como fazer isso com mais detalhes.

Abraço

P

desculpa minha ignorância mas não precisa informar qual jasper vai ser gerado pra xls ???

não precisa executar o jasper com os parametros …

como ficaria o codigo

-- minha duvida isso aqui eu preciso ???  ou não ??????
session = (Session) dbmanager.getDelegate();
			con = session.connection();
			
			String jasper = request.getContextPath()+ "/report/report/"+nomeRelatorio;   
			host = "http://" + request.getServerName() + ":" + request.getServerPort();   
			URL jasperURL        = new URL(host + jasper);

			//File file = new File(jasperURL.getFile());
			JasperReport relatoriosJasper    =       (JasperReport)JRLoader.loadObject(jasperURL);
			JasperPrint jasperPrint = JasperFillManager.fillReport(relatoriosJasper,parameters, con );

e depois é só acrescentar seu codigo como associo o jasper ao xls essa é minha duvida

abs

k1tsune

Entendi véio,

Desculpe, nunca usei Jasper pra Excel. Uso POI pra pdf e HSSF pra excel (não que sejam melhores, ahaha).

Boa sorte ai!

Abraço

Criado 22 de abril de 2009
Ultima resposta 22 de abr. de 2009
Respostas 3
Participantes 2