Pessoal,
depois de procurar bastante, fazer vários testes, resolvi ver se alguém já teve esse “probleminha” tbm.
Estou tentando colocar o arquivo (workbook do poi) no response, pra quando clicar na tela em exportar, já abre o arquivo no excel,até ai tudo blz, o problema é que esta “gerando” em branco o .xls, e o mesmo é gerado com todo o conteúdo quando é salvo em disco.
FacesContext fc = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse) fc.getExternalContext().getResponse();
response.setContentType("application/excel");
response.setHeader("Content-Disposition", "attachment;filename=\""+fileName+"\"");
try {
//PrintStream stream = new PrintStream(response.getOutputStream());
//stream.write(b, 0, b.length);
ServletOutputStream out = response.getOutputStream();
workbook.write(out);
//out.write(b);
out.flush();
out.close();
fc.responseComplete();
// grava em disco
FileOutputStream fileOut = new FileOutputStream("C://"+fileName);
workbook.write(fileOut);
fileOut.close();
} catch (IOException e) {
e.printStackTrace();
}
As linhas comentadas são de testes de várias implementações que encontrei na net, em todas sempre faz a mesma coisa, o arquivo em disco fica perfeito, mas o que vai pra “web” fica em branco.
Alguém tem alguma idéia do que acontece?
valeu!