JasperReport jasperReport = (JasperReport) JRLoader.loadObjectFromFile("report1.jasper");
JasperPrint jasperprint2 = JasperFillManager.fillReport(jasperReport, new HashMap(), new JRBeanCollectionDataSource(DailySalesDataSource.getBeanCollection()));
JRViewer jr = new JRViewer(jasperprint2);
JFrame jf = new JFrame();
jf.setSize(500, 500);
jf.add(jr);
jf.setVisible(true);
这样,会弹出一个窗口,点窗口上面的保存按钮时,只能保存.jrprint这个文件,请问如何激活所有保存文件类型?
[code="java"]private void toPdfbytes(HttpServletResponse response,byte[] bb,String filename) throws SystemException {
response.reset();
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition","attachment; filename=\"" + filename + "\"");
response.setContentLength(bb.length);
try {
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bb, 0, bb.length);
ouputStream.flush();
ouputStream.close();
} catch (IOException e) {
e.printStackTrace();
throw new SystemException(e.getMessage());
}
}[/code]
response.setContentType这段,对应不同的类型!
或者你直接使用:
//导出为Html
//JasperExportManager.exportReportToHtmlFile(jasperPrint, "c:/area.html");
//导出为pdf
//OutputStream output = new FileOutputStream(new File("c:/catalog.pdf")); //JasperExportManager.exportReportToPdfStream(jasperPrint,output);