ireport制作报表
本人最近在练习下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-------------");
%>