发布时间:2025-12-09 11:50:31 浏览次数:2
import net.sf.jxls.transformer.XLSTransformer; //导入依赖的package包/类@Overridepublic void render() { if (beans.isEmpty()) { buildBean(); } response.setContentType(CONTENT_TYPE); response.setHeader("Content-Disposition", "attachment;Filename=" + filename); try { OutputStream out = response.getOutputStream(); InputStream is = new BufferedInputStream(new FileInputStream(templetFile)); XLSTransformer transformer = new XLSTransformer(); Workbook workBook = transformer.transformXLS(is, beans); workBook.write(out); } catch (Exception e) { throw new RenderException(e); }} import net.sf.jxls.transformer.XLSTransformer; //导入依赖的package包/类/** * Gera um relatório com o nome e manifestações informados e efetua o download * * @param reportName Nome do relatório a ser gerado * @param manifestacoes Lista de manifestações a serem exportadas para o relatório * @throws Exception Caso aconteça qualquer tipo de exceção ao tentar gerar e baixar o relatório */public static void downloadReport(String reportName, List<TbManifestacao> manifestacoes) throws Exception {FacesContext facesContext = FacesContext.getCurrentInstance(); HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse(); response.setContentType("application/force-download"); response.addHeader("Content-Disposition", String.format("attachment; filename=\"%s.xls\"", reportName)); // Converte a lista em um arquivo .xls ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); InputStream templateFile = classLoader.getResourceAsStream("/TemplateExtracaoDados.xls"); Map<String, List<ManifestacaoVO>> beans = new HashMap<String, List<ManifestacaoVO>>(); beans.put("data", ExtracaoHelper.convert(manifestacoes)); XLSTransformer transformer = new XLSTransformer(); Workbook workbook = transformer.transformXLS(templateFile, beans); workbook.write(response.getOutputStream()); facesContext.responseComplete(); } import net.sf.jxls.transformer.XLSTransformer; //导入依赖的package包/类@Overridepublic void render() { if (beans.isEmpty()) { buildBean(); } response.setContentType(CONTENT_TYPE); response.setHeader("Content-Disposition", "attachment;Filename=" + encodeChineseDownloadFileName(request, filename)); try { OutputStream out = response.getOutputStream(); InputStream is = new BufferedInputStream(new FileInputStream(templetFile)); XLSTransformer transformer = new XLSTransformer(); Workbook workBook = transformer.transformXLS(is, beans); workBook.write(out); } catch (Exception e) { throw new RenderException(e); }}