현재 JasperReports에서 작업 중입니다. PDF 형식으로 보고서를 생성하는 한 가지 방법이 있습니다. 그것은 잘 작동하지만 나는 엑셀 형식으로 동일한 보고서를 원한다.재 스퍼 보고서 Excel 형식 변환
public void generateFleetReportPdf(List<DailyTrakingReportBean> listOfDailyBean) throws JRException, IOException {
/*
Convert List to JRBeanCollectionDataSource
*/
JRBeanCollectionDataSource beanCollectionDataSource = new JRBeanCollectionDataSource(listOfDailyBean);
/*
Map to hold Jasper Report parameters
*/
Map<String,Object> parameters = new HashMap<String, Object>();
parameters.put("ItemDataSource", beanCollectionDataSource);
String reportPath = FacesContext.getCurrentInstance().getExternalContext().getRealPath("/reports/sadaqatReport.jasper");
JasperPrint jasperPrint = JasperFillManager.fillReport(reportPath, parameters, beanCollectionDataSource);
HttpServletResponse httpServletResponse = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
httpServletResponse.addHeader("Content-disposition", "attachment; filename=report.pdf");
ServletOutputStream outputStream = httpServletResponse.getOutputStream();
JasperExportManager.exportReportToPdfStream(jasperPrint, outputStream);
FacesContext.getCurrentInstance().responseComplete();
}
내가 노력하고 함께
net.sf.jasperreports.engine.export.ooxml.JRXlsxExporter
를 교체합니다. 기다려주세요. –이 페이지에는 다음과 같은 오류가 있습니다. 1 열 1의 오류 : 문서가 비어 있습니다. 1 열 1의 오류 : 인코딩 오류 다음은 첫 번째 오류까지 페이지 렌더링입니다. –
헤더에 올바른 Content-Type을 설정 했습니까? 또한 반환하기 전에 outputStream을 플러시하고 닫으십시오. 'outputStream.flush(); outputStream.close();' –