eu sei que vai ter gente que vai pensar ou até postar “ah! mas tem um monte de topicos sobre esse assunto”, ja vo dizendo que pesquisei bastante e por não encotrar resposta é que to aqui…
bem, anteriormente eu estava tentando imprimir o relatorio no browser porém o foco mudo e agora preciso imprimir esse relatorio em xls peguei um conceito de um desenvolvedor que posto aqui no guj mesmo http://www.guj.com.br/java/57855-ireport-com-saida-em-excel eu tenho uma tela em jsf que nela eu digito data inicio e data fim e quero imprimir uma relacao de documentos no excel, com o exemplo fiz e fico assim, mas não ta funfando.
ContratoDAO cDAO = new ContratoDAO();
String caminho = "portal/";
File file = new File(caminho);
file = file.getAbsoluteFile();
String arquivoJasper = getServlet().getServletContext().getRealPath("teste.jasper");
// String arquivoJrxml = System.getProperty("user.dir" + "/portal/teste.jrxml");
String dataIni = request.getParameter("dataInicio");
String dataFim = request.getParameter("dataFim");
LinkedList<ContratoApoio> listaApoio = cDAO.ContratoDias(dataIni, dataFim);
JRBeanCollectionDataSource jrds = new JRBeanCollectionDataSource(listaApoio);
HashMap<String, Object> map = new HashMap<String, Object>();
try {
JasperPrint jasperPrint = JasperFillManager. fillReport(arquivoJasper, map, jrds);
JExcelApiExporter xlsExport = new JExcelApiExporter();
xlsExport.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrint);
xlsExport.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, caminho + "/teste.xls");
xlsExport.exportReport();
} catch (JRException e) {
e.printStackTrace();
retorno = "failure";
}catch (JRRuntimeException e){
e.printStackTrace();
retorno = "failure";
}catch (Exception e){
e.printStackTrace();
retorno = "failure";
}
retorno = "success";
}
o erro é esse
java.lang.ClassCastException: net.sf.jasperreports.engine.JasperPrint cannot be cast to java.util.List
tudo bem o JasperPrint nao converte para uma lista, mas o que estou achando estranho é que para PDF ele converte pq nao converte para xls?
OBS.: por favor não levem a mal não mas é que vi em outros tópicos uma galera bem sem educação ai pra evitar a fadiga coloquei o aviso no inicio do tópico