-1
私は現在JasperReportsで働いています。 PDF形式のレポートを生成する方法が1つあります。それは正常に動作しているが、私はExcel形式で同じレポートをしたい。ジャスパーレポート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列目のエラー:エンコーディングエラー 以下は最初のエラーまでのページのレンダリングです。 –
ヘッダーに正しいContent-Typeを設定しましたか?また、返す前にoutputStreamをフラッシュして閉じてみてください。 'outputStream.flush(); outputStream.close();' –