ireport制作报表

hwwlove 2013-07-02 02:54:02
本人最近在练习下ireport制作报表,有些问题想请教一下:
1.jsp调用jasperreport后,直接以页面形式打开,pdf格式页面打开正常,html格式打开页面图表部分没有展示出来,设计的时候也没有单独的插入图表,不知何种原因?
2.如果html形式打开报表,能否做到当鼠标移到柱形图、饼图等上面的时候,展示相应的详细说明、百分数等,该怎么做?
顺便问一下:jsp调用jasperreport后打开后,目前是否支持鼠标双击某列进入可编辑状态、数据js校验、自动统计功能等

顺便贴一下代码

<%@ page contentType="text/html; charset=GBK"%>
<%@ page import="java.util.*"%>
<%@ page import="net.sf.jasperreports.engine.*"%>
<%@ page import="net.sf.jasperreports.engine.export.*"%>
<%@ page import="net.sf.jasperreports.engine.util.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.sql.*"%>
<%
//取得jasper的文件地址
File reportFile = new File(application.getRealPath("/test_chms.jasper"));
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(reportFile.getPath());
//数据库连接信息
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url="jdbc:mysql://localhost:3306/chms";
Connection conn = DriverManager.getConnection(url,"root","root");
//传递报表中用到的参数值
Map parameters = new HashMap();
//parameters.put("age", "23");
System.out.println("---------Jasper begin-------------");


//以html形式直接预览
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, conn);
Map imagesMap = new HashMap();
request.getSession().setAttribute( " IMAGES_MAP " , imagesMap);
JRHtmlExporter exporter = new JRHtmlExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out);
exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, Boolean.FALSE);
exporter.setParameter(JRHtmlExporterParameter.IMAGES_MAP,imagesMap);
exporter.exportReport();
out.flush();
conn.close();
System.out.println("---------Jasper end-------------");
%>
...全文
161 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
heshifu1026 2015-05-18
  • 打赏
  • 举报
回复
哈哈,做图表当然还是finereport比较技高一筹了~finereport的操作和excel类似的,不过它可以做很多漂亮的图表,除了excel那些常见的图表,还能做双轴图、动态图、地域图,而且能做到动态链接,做展示真是太漂亮了。
hwwlove 2013-07-02
  • 打赏
  • 举报
回复
好的,谢谢指点。。。
zcwgogo 2013-07-02
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/390489995
zcwgogo 2013-07-02
  • 打赏
  • 举报
回复
企业级的应用就是这样做的,对于你说的那种的, 这个帖子里面有 ,我就不重复 了,我只是给个建议,其实要怎么做还是自己去操作,extjs 轻量也好 重量 也好,都嘴巴子说说,无非是多导入几个文件而已,使用还不是一样简单。你嫌太重量 那你去用jquery的报表组件,或者自己去开发一个也行。就是一分钱一分货了 1M的代码是写不出10代码的功能的。
hwwlove 2013-07-02
  • 打赏
  • 举报
回复
楼上的图表功能确实挺强大,正是我在页面展示想要的。。。就前端方面jq能否展现图表。。
hwwlove 2013-07-02
  • 打赏
  • 举报
回复
按照你说的这样,jasper只用来做报表的导出,jsp页面展示(预览)没必要这样做的话,那图表怎么展示出来呢,比如电信业厅,点击最近几个月的话费消费趋势一样,图表展示?extjs很久以前用过几下,后面换公司就没用过了,extjs框架比较重量级,有没有比较好点的解决方案呢?刚刚接触不久图表这方面,小弟还请赐教呀。。。
zcwgogo 2013-07-02
  • 打赏
  • 举报
回复
饼图。 折线图这些。当鼠标移动 都有对应的操作。
zcwgogo 2013-07-02
  • 打赏
  • 举报
回复
楼主用的只是jasper的一个HTML的预览功能,没必要这样做的,你的jasper 只用来做报表的导出,其实他的原始设计也是这样,然而你的页面完全可以用开源的JS框架来实现,而且报表都是活的,是动态,而且可以做到所谓的超链接,编辑,JS校验等。 而且这样的速度会很快。 我建议在对数据的栓选条件那块可以和导出报表共用一个,当查询数据后可以在页面上使用JS 的展示, 当导出时 共用查询时的参数拉到数据后填充 jasper 文件,然后丢出流 到页面供下载。 我用的是EXTJS 的报表,其中有7种以上的报表,很华丽,而且功能也很多,你说的那些功能都可以实现。而且如果你页面用jasper的预览功能来展示数据的话,jasper的报表样子你也知道,很丑的,而且就是赤裸裸的 没点提示,比如我鼠标放到柱状图 ,此时应该可以显示一些信息比如 显示 80%,这样的 ,用JS是完全可以的。你的思路应该修改一下。 虽然说 jasper 的预览功能是可以用,但是不是最好的选择。
jie_20 2013-07-02
  • 打赏
  • 举报
回复
以html形式直接预览 你这种是什么形式的?方便留个QQ么?

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧