JasperReport还可以导出为其它格式,如PDF,XLS,RTF,HTML,CSV
下面是导出为PDF和XLS文件
Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/jasperreportdb","root","root");
try {
//据据jasper文件生成JasperPrint对象
JasperPrint jasperPrint = JasperFillManager.fillReport("WebRoot//JasperFile//report9.jasper", new HashMap(),connection);
//生成我们的导出类JRPdfExporter 来自JRExporter
JRPdfExporter jrpdfExporter = new JRPdfExporter();
//设JasperPrint参数
jrpdfExporter.setParameter(JRExporterParameter.JASPER_PRINT,jasperPrint);
//设置输入的PDF文件放在什么地方
jrpdfExporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, "WebRoot//JasperFile//exporter.pdf");
//输出
jrpdfExporter.exportReport();
//Excel JExcelApiExporter 来自JRExporter
JExcelApiExporter xlsExporter = new JExcelApiExporter();
xlsExporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
xlsExporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,"WebRoot//JasperFile//exporter.xls");
xlsExporter.exportReport();
} catch (JRException e) {
e.printStackTrace();
}
在WEB上面生成HTML的报表
public class HtmlReportServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
//连结数据库
Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/jasperreportdb","root","root");
//获得Jasper输入流
InputStream inputStream = getServletConfig().getServletContext().getResourceAsStream("JasperFile//report9.jasper");
//获得JasperPrint对象
JasperPrint jasperPrint = JasperFillManager.fillReport(inputStream, new HashMap(),connection);
connection.close();
//设置格式
response.setContentType("text/html");
//获得输出流 ,这里不能这样response.getOutputStream()
PrintWriter printWriter = response.getWriter();
//创建JRHtmlExporter对象
JRHtmlExporter htmlExporter = new JRHtmlExporter();
//把jasperPrint到Session里面(net.sf.jasperreports.j2ee.jasper_print)
request.getSession().setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint);
//设值jasperPrint
htmlExporter.setParameter(JRExporterParameter.JASPER_PRINT,jasperPrint);
//设置输出
htmlExporter.setParameter(JRExporterParameter.OUTPUT_WRITER,printWriter);
//设置图片生成的Servlet(生成图片就用这个ImageServlet,并且要在XML文件里面配置 image?image=这个是Servlet的url-pattern)
htmlExporter.setParameter(JRHtmlExporterParameter.IMAGES_URI,"image?image=");
//导出
htmlExporter.exportReport();
printWriter.close();
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (JRException e) {
e.printStackTrace();
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}
}
注意:这个因为用到了JasperReport里面的一个Servlet要在web.xml文件里配置好
<servlet>
<servlet-name>HtmlReportServlet</servlet-name>
<servlet-class>com.langhua.JasperReport.Servlet.HtmlReportServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>ImageServlet</servlet-name>
<servlet-class>net.sf.jasperreports.j2ee.servlets.ImageServlet</servlet-class>
</servlet>
<!--url-pattern视你的情况而定,如果图片出不来,你就看他的连结是什么 -->
<servlet-mapping>
<servlet-name>ImageServlet</servlet-name>
<url-pattern>/servlet/image</url-pattern>
</servlet-mapping>
分享到:
相关推荐
-----iReport&JasperReport学习教程(PDF版)-----
JasperReport 打印 导出PDF XLS 这是我们公司架构师搭的一套架构,封装好了打印 导出功能,其他的报表只要实现这个机制就能完成功能了,该抽象的都抽象出来了,只有一个view.jsp页面。
一个使用SSH集成JasperReport的例子,支持预览、导出Excel、导出Pdf。 部署到Tomcat服务器可运行,该例子中采用了一个报表框架,框架的类图结构可参考压缩包中的“报表设计.jpg”。 希望对您有帮助。
iExport.java DocExport.java XlsExport.java HtmlExport.java PdfExport.java
PDF HTML EXCEL FLASH CSV RTF TXT OpenOffice Java2D 等格式。 报表可转换为 JRViewer 3. :JDBC,CVS,Hibernate,JavaBean ,以及用户自定义的数据 支持所有有效的数据源。如 Arrary List 源,如 。4. 5. 6. ...
jasperreports导出html,pdf,xls报表,spring-boot加maven,使用jasperreports6.0,不存在中文乱码问题
iReport+jasperReport之客户端打印 数字签名
jasperReport studio用户手册jaspersoft-studio-user-guide_8.pdf
使用开源报表jasperReport,并结合irport前端报表设计器,使用Java程序实现报表的不同格式的导出,包括pdf,excel,html,打印预览等功能,程序包含所需Jar包,并有详细的注释
通过ireport生成模版,使用jasperreport调用模版,通过servlet生成pdf格式的文件,显示于页面以实现本地打印功能
在官方struts2-jasperreport-plugin-2.1.6基础上,解决问题有二:一是普通报表HTML及Excel格式预览无法显示px图片,二是图形报表HTML格式无法展示;分享于有需要的朋友~~
在原有官方struts2-jasperreport-plugin-2.1.6.jar的基础上解决了三个问题:一是普通报表HTML及Excel格式预览无法显示px图片;一是图形报表无法HTML格式预览;一是图形报表一次请求返回多张时存在报表覆盖异常现象;
1、普通报表HTML、Excel格式浏览存在px图片无法显示; 2、解决问题:图形报表一次请求返回多张时存在报表覆盖异常现象; 3、支持数据源单一(改造后支持任意jasperreport支持的数据源及直接直接java.result.ResultSet...
jasperreport 6.4.1报表动态列,以及生成导出html,可直接导入到eclipse中进行运行,包含一个完整的demo
asperReport的应用,发现大部分都是讲如何将jasper导入一个html或pdf进行打印的例子,并没有直接将jasperReport打印生成一个图像的示例。包括jaspe自带的demo里面,所以有高手就写了如何生成图片的方法
官方的struts2-jasperreport-plugin-2.1.6.jar,分享于有需要的朋友~~
JasperReport简易入门教程--亲测有效-附件资源
jasperreport 3.75版 jar包 ,修复PDF中中文不能加粗,倾斜等问题。
学习Jasperreport和ireport的好资料!