Galera estou querendo exportar um arquivo xls, mais estou recebendo um null Pointer nogetServletResponse() eu tenho os gets e sets dele dentro da classe que estou estou exportar o arquivo, mais não o que falta para ele resceber os valores… toda a sequencia do código esta correta mais esta nulo meu getServletResponse()
alguém pode ajudar ?
this.getServletResponse().setHeader("Content-Disposition", "attachment; filename=nome_arquivo.xls");
this.getServletResponse().setContentType("application/octet-stream");
this.getServletResponse().getOutputStream().write(baos.toByteArray());
manda o código completo do teu servlet
esta ai o metodo, isso e um teste que estou fazendo ainda não esta pronto quando gerar o xls certo ai vou implementar ele todo, mais precido resolver esse problema
public String xlsRelatorioDinamico(Integer statusUsuario,Date dataDe, Date dataAte, String tbUsuario, String tbTalao, String tbAssociacao) {
try {
RelatorioDinamicoTO relatorioDinamicoTO = this.gerarRelatorio(statusUsuario, dataDe, dataAte, tbUsuario, tbTalao, tbAssociacao);
HSSFWorkbook arquivoXLS = new HSSFWorkbook();
HSSFSheet hssSheet = arquivoXLS.createSheet("Relatório Dinámico");
HSSFRow cabecalhoRela = hssSheet.createRow(0);
cabecalhoRela = hssSheet.createRow(0);
cabecalhoRela.createCell(0).setCellValue(new HSSFRichTextString("Data"));
cabecalhoRela.createCell(1).setCellValue(new Date());
HSSFRow linha1 = hssSheet.createRow(1);
linha1.createCell(0).setCellValue(new HSSFRichTextString("Relatório Dinámico:"));
if(relatorioDinamicoTO.getIdUsuario() != null){
linha1.createCell(1).setCellValue(new HSSFRichTextString(relatorioDinamicoTO.getIdUsuario().toString()));
}
HSSFRow linha2 = hssSheet.createRow(2);
linha2.createCell(0).setCellValue(new HSSFRichTextString("Relatório Dinámico:"));
if(relatorioDinamicoTO.getCodBarrasTBtalao()!= null){
linha2.createCell(1).setCellValue(new HSSFRichTextString(relatorioDinamicoTO.getCodBarrasTBtalao().toString()));
}
HSSFRow linha3 = hssSheet.createRow(3);
linha3.createCell(0).setCellValue(new HSSFRichTextString("Relatório Dinámico:"));
if(relatorioDinamicoTO.getIdUsuarioTBusuario()!= null){
linha3.createCell(1).setCellValue(new HSSFRichTextString(relatorioDinamicoTO.getIdUsuarioTBusuario().toString()));
}
HSSFRow linha4 = hssSheet.createRow(4);
linha4.createCell(0).setCellValue(new HSSFRichTextString("Relatório Dinámico:"));
//linha4.createCell(1).setCellValue(new HSSFRichTextString(relatorioDinamicoTO.getBairroTBusuario().toString()));
HSSFRow linha5 = hssSheet.createRow(4);
linha5.createCell(0).setCellValue(new HSSFRichTextString("Relatório Dinámico:"));
//linha5.createCell(1).setCellValue(new HSSFRichTextString(relatorioDinamicoTO.getBairroTBusuario().toString()));
HSSFRow linha6 = hssSheet.createRow(4);
linha6.createCell(0).setCellValue(new HSSFRichTextString("Relatório Dinámico:"));
//linha6.createCell(1).setCellValue(new HSSFRichTextString(relatorioDinamicoTO.getBairroTBusuario().toString()));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
arquivoXLS.write(baos);
baos.close();
this.getServletResponse().setHeader("Content-Disposition", "attachment; filename=relatorio_Dinamico.xls");
this.getServletResponse().setContentType("application/octet-stream");
this.getServletResponse().getOutputStream().write(baos.toByteArray());
} catch (Exception e) {
//SendMail.sendException(e);
e.printStackTrace();
}
return null;
}
e aqui os get e set
public HttpServletRequest getServletRequest(){
return request;
}
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
public HttpServletResponse getServletResponse(){
return response;
}
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
public HttpServletRequest getRequest() {
return request;
}
public void setRequest(HttpServletRequest request) {
this.request = request;
}
public HttpServletResponse getResponse() {
return response;
}
public void setResponse(HttpServletResponse response) {
this.response = response;
}