- 浏览: 577075 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
wzh051527:
我是大四实习生一个,自我感觉技术能力在第三年。。唯一不明白,为 ...
十年技术,不要再迷茫 -
room_bb:
.hrl文件怎么加入到编译规则里面?比如:pp.hrl文件-d ...
Erlang中用的makefile的一点解释 -
吉米家:
感觉帆软报表的flash打印就很不错哇,特别好用
JSP 实现报表打印 -
雪碧爱芬达:
苦逼程序员的辛酸反省与总结 -
mlyjxx:
...
十年技术,不要再迷茫
iReport_web开发配置向导- -
一、iReport简介
说到iReport不得不先介绍Jasperreport,Jasperreport是一个报表制作程序,用户需要按照它制定的规则编写一个XML文件,然后得到用户需要输出的格式文件。它支持输出的文件格式包括PDF,HTML,XML,XLS,CVS等等。而iReport就是一个制作Jasperreport的XML文件的可视化开发工具。只是一个UI。
二、安装说明
2.1 基本安装
现在最新的版本是iReport 0.5.1 (Aug 27, 2005).
下载后解压然后在根目录双击iReport.bat就可以用了,但是为了可以使用external ttf font还必须要把 iReport-0.5.1/fonts 加到环境变量里面去。
2.2 了解制作报表用的包
下载后到到 iReport-0.5.1/lib 里看看,你就可以发现iReport的真面目了。
(1) jasperreports-1.0.1.jar
jasperreports是iReport的核心内容。它是一个强力的报表产生工具,他有能力描述丰富内容到屏幕上、到打印机或到PDF, HTML, XLS, CSV和XML文件。它完全用Java编写的,并可在各种Java应用(包括J2EE或WEB应用)中用来产生动态内容。它的主要目的是以一种简单而灵活的方式来帮助创建导向的页面。
JasperReports组织根据在一个XML文件中定义的报表设计通过JDBC来接受来自一个关系数据库中的数据. 为了以数据来填充报表,报表设计必须首先被编译。
jasperreports的官方网站:http://jasperreports.sourceforge.net/
(2) itext-1.3.1.jar
iText是一个开放源码的Java类库,是用来生成PDF文件的。
iText的官方网站:http://itext.sourceforge.net
如果要在生成的pdf文件显示中文等亚洲字符,还必须下载itext的亚洲字符包。
tTextAsian的官方下载地址:http://itextdocs.lowagie.com/downloads/iTextAsian.jar
(3) jfreechart-1.0.0-rc1.jar
jfreechart是一款免费的、功能强大的统计图生成工具,可以直接生成PNG,JPG等各式的文件。
这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。
jfreechart的官方下载地址:http://www.jfree.org/jfreechart/
(4) jcommon-1.0.0-rc1.jar
JCommon是一组有用的classes集合.它已经用在JFreeChart,JFreeReport与其它项目上. 这个类库包含了以下功能: 文本工具类(text utilities), 用来显示关于应用程序信息的用户界面类,布局定制管理器,一个日期选择面板,序列化工具类,XML解析器支持类.
jcommon的官方下载地址:http://www.jfree.org/jcommon/
iText是一个开放源码的Java类库,是用来生成PDF文件的。
iText的官方网站:http://itext.sourceforge.net
如果要在生成的pdf文件显示中文等亚洲字符,还必须下载itext的亚洲字符包。
tTextAsian的官方下载地址:http://itextdocs.lowagie.com/downloads/iTextAsian.jar
(3) jfreechart-1.0.0-rc1.jar
jfreechart是一款免费的、功能强大的统计图生成工具,可以直接生成PNG,JPG等各式的文件。
这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。
jfreechart的官方下载地址:http://www.jfree.org/jfreechart/
(4) jcommon-1.0.0-rc1.jar
JCommon是一组有用的classes集合.它已经用在JFreeChart,JFreeReport与其它项目上. 这个类库包含了以下功能: 文本工具类(text utilities), 用来显示关于应用程序信息的用户界面类,布局定制管理器,一个日期选择面板,序列化工具类,XML解析器支持类.
jcommon的官方下载地址:http://www.jfree.org/jcommon/
(5) poi-2.0-final-20040126.jar
Apache的Jakata项目的POI子项目,目标是处理ole2对象。目前比较成熟的是HSSF接口,处理MS Excel(97-2002)对象。它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel对象,你可以控制一些属性如sheet,cell等等。
直接调用poi包的不是ireport,而是jasperreport。
poi的官方下载地址:http://www.apache.org/dyn/closer.cgi/jakarta/poi/
这些是用来制作报表用的包,所以可以用最新的版本来代替原有包。但是务必保持与项目中的包一致,因为很多开源的项目都不向下兼容。(例如jasperreport)
Apache的Jakata项目的POI子项目,目标是处理ole2对象。目前比较成熟的是HSSF接口,处理MS Excel(97-2002)对象。它不象我们仅仅是用csv生成的没有格式的可以由Excel转换的东西,而是真正的Excel对象,你可以控制一些属性如sheet,cell等等。
直接调用poi包的不是ireport,而是jasperreport。
poi的官方下载地址:http://www.apache.org/dyn/closer.cgi/jakarta/poi/
这些是用来制作报表用的包,所以可以用最新的版本来代替原有包。但是务必保持与项目中的包一致,因为很多开源的项目都不向下兼容。(例如jasperreport)
三、制作jrxml、jasper
3.1 选择语言
Tools->Option->General->Language
3.2 连接数据库
资料来源->连结/资料来源
如果要使用mysql以外的数据库,要保证jdbc包在环境变量里。放到iReport-0.5.1/lib 下也可以。name相当于一个JNDI。添好后点击test按钮如果显示成功就可以执行下一步了。
3.3 新建一个Report
定位可以控制报表是横向的还是纵向的。Portrait是纵向,Landscape是横向。
边距是可以调整的。
3.4 基本域
title域用来放报表的总标题
pageHeaher域顾名思义页头
columnHeader域是用来放static text的,也就是不循环的部分。
detail域是用来放text field的,也就是循环部分。
pageFooter域是用来放本页的统计参数的。
summary域是用来放整个表的统计参数的。
可以直接调整每个域的长度,也可以通过Band properties来调整。当然总长度是不会超过页面的原长。
3.5 报表查询
3.5.1 为报表添加SQL查询语句
资料来源->报表查询
在Report SQL query里填写SQl语句。如果语句正确,在下面的field里就会显示正常的表字段。
3.5.2 为报表添加动态字段
预览->报表字段
把fields里的字段直接拖到报表上就行了。
3.5.3 为SQL语句添加参数
预览->报表参数
在parameters里新增一个参数
paratemeter name 是参数名,在SQL语句里写成"$P{参数名}"
paratemeter class type里选择参数类型。
注意:如果是int型的数据,最好在报表字段里将该字段的Class type改成java.lang.String型的。
另外一种办法,不管该字段原来是什么数据类型,直接在paratemeter class type里选择java.lang.String类型,然后在Default value expression 填写"Integer.toString(整数)"。
3.5.4 添加报表变量
预览->报表变量 $V{变量名}
3.5.5 处理字体
3.5.5.1 基本设置
选中字段->右键->properties->font(双击也可以)
Report font 选择全局的字体(仅限于该报表)
Font name 选择在ireport里面显示的字体
Pdf font name 选择在pdf里面显示的字体
Rotation 选择内容是否旋转(很有用的选项)
PDF Encoding 中文要用UniGB-UCS2-H,外部字体要选Identity-H
3.5.5.2 选择外部字体
第一步 先在Pdf font name里选择External TTF font,然后在下面的Ture Type font里选择外部字体,当然要用的外部字体放在iReport-0.5.1/fonts目录下面。
第二步 在web项目的WEB-INF/classes/下面放要用到的外部字体,才能在程序里正常显示。
3.5.5.3 设定该报表的全局字体
预览->报表字型
3.6 编译jrxml
建立->编译
编译后生成一个后缀名为jasper的binary文件,可以直接给程序调用。
四、web项目应用
4.1 jsp输出PDF报表
4.1.1 需要放到项目里的包
itext-1.3.1.jar
iTextAsian.jar
jasperreports-1.0.1.jar
4.1.2 输出PDF注意事项:
4.1.3 jsp输出PDF的例子
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="net.sf.jasperreports.engine.JasperFillManager" %>
<%@ page import="net.sf.jasperreports.engine.JasperPrint"%>
<%@ page import="net.sf.jasperreports.engine.JRException"%>
<%@ page import="net.sf.jasperreports.engine.JasperRunManager"%>//pdf
<%
String rowid = "1";//初始化变量
Connection conn= DriverManager.getConnection("proxool.test");//从数据源连接数据库
//装载jasper文件application
File exe_rpt = new File(application.getRealPath("/reports/test.jasper"));
//rowid就是iReport的变量$P{rowid}的名称
Map parameters = new HashMap();
parameters.put("rowid",rowid);
try{
// fill
JasperPrint jasperPrint = JasperFillManager.fillReport(exe_rpt.getPath(),parameters,conn);
// 生成pdf
byte[] bytes = JasperRunManager.runReportToPdf(exe_rpt.getPath(),parameters,conn);
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes,0,bytes.length);
ouputStream.flush();
ouputStream.close();
conn.close();
}catch(JRException ex){
out.print("Jasper Output Error:"+ex.getMessage());
}
4.1.1 需要放到项目里的包
itext-1.3.1.jar
iTextAsian.jar
jasperreports-1.0.1.jar
4.1.2 输出PDF注意事项:
4.1.3 jsp输出PDF的例子
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="net.sf.jasperreports.engine.JasperFillManager" %>
<%@ page import="net.sf.jasperreports.engine.JasperPrint"%>
<%@ page import="net.sf.jasperreports.engine.JRException"%>
<%@ page import="net.sf.jasperreports.engine.JasperRunManager"%>//pdf
<%
String rowid = "1";//初始化变量
Connection conn= DriverManager.getConnection("proxool.test");//从数据源连接数据库
//装载jasper文件application
File exe_rpt = new File(application.getRealPath("/reports/test.jasper"));
//rowid就是iReport的变量$P{rowid}的名称
Map parameters = new HashMap();
parameters.put("rowid",rowid);
try{
// fill
JasperPrint jasperPrint = JasperFillManager.fillReport(exe_rpt.getPath(),parameters,conn);
// 生成pdf
byte[] bytes = JasperRunManager.runReportToPdf(exe_rpt.getPath(),parameters,conn);
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes,0,bytes.length);
ouputStream.flush();
ouputStream.close();
conn.close();
}catch(JRException ex){
out.print("Jasper Output Error:"+ex.getMessage());
}
%>
4.2 jsp输出EXCEL报表
4.2.1 需要放到项目里的包
jasperreports-1.0.1.jar
poi-2.0-final-20040126.jar
4.2.2 输出excel要注意的:
(1) 输出excel报表必须fields的边界刚好填充满整个页面,不然会有大量的空白出现。
(2) 删除记录最下面的空行需要加上参数
exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,Boolean.TRUE);
(3) 删除多余的ColumnHeader需要加上参数
exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET,Boolean.FALSE);
(4) 在ireport里给fields加上border,那输出的excel就会有很黑的边框,跟excel默认的灰度边框就会很不协调。但是如果不加border,在输出的excel里就不会显示每个表格的边框。
解决方法是:
第一步 在选中字段->右键->properties->Common->Transparent 打上勾。
第二步 在输出的jsp页面加上参数
exporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND,Boolean.FALSE);
4.2.3 jsp输出EXCEL的例子
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="net.sf.jasperreports.engine.JasperFillManager" %>
<%@ page import="net.sf.jasperreports.engine.JasperPrint"%>
<%@ page import="net.sf.jasperreports.engine.JRException"%>
<%@ page import="net.sf.jasperreports.engine.JRExporterParameter"%>//excel
<%@ page import="net.sf.jasperreports.engine.export.JRXlsExporterParameter"%>//excel
<%@ page import="net.sf.jasperreports.engine.export.JRXlsExporter"%>//excel
<%
String rowid = "1";
Connection conn= DriverManager.getConnection("proxool.test");
//装载jasper文件application
File exe_rpt = new File(application.getRealPath("/excel/test_excel.jasper"));
//rowid就是iReport的变量$P{rowid}的名称
Map parameters = new HashMap();
parameters.put("rowid",rowid);
try{
// fill
JasperPrint jasperPrint = JasperFillManager.fillReport(exe_rpt.getPath(),parameters,conn);
// excel输出
ByteArrayOutputStream oStream = new ByteArrayOutputStream();
JRXlsExporter exporter = new JRXlsExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, oStream);
exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,Boolean.TRUE); // 删除记录最下面的空行
exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET,Boolean.FALSE);// 删除多余的ColumnHeader
exporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND,Boolean.FALSE);// 显示边框
exporter.exportReport();
byte[] bytes = oStream.toByteArray();
if(bytes != null && bytes.length > 0) {
response.reset();
response.setContentType("application/vnd.ms-excel");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes,0,bytes.length);
ouputStream.flush();
ouputStream.close();
}else{
out.print("bytes were null!");
}
conn.close();
}catch(JRException ex){
out.print("Jasper Output Error:"+ex.getMessage());
}
%>
4.3 jsp输出html报表
没有意义,不写。
4.2 jsp输出EXCEL报表
4.2.1 需要放到项目里的包
jasperreports-1.0.1.jar
poi-2.0-final-20040126.jar
4.2.2 输出excel要注意的:
(1) 输出excel报表必须fields的边界刚好填充满整个页面,不然会有大量的空白出现。
(2) 删除记录最下面的空行需要加上参数
exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,Boolean.TRUE);
(3) 删除多余的ColumnHeader需要加上参数
exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET,Boolean.FALSE);
(4) 在ireport里给fields加上border,那输出的excel就会有很黑的边框,跟excel默认的灰度边框就会很不协调。但是如果不加border,在输出的excel里就不会显示每个表格的边框。
解决方法是:
第一步 在选中字段->右键->properties->Common->Transparent 打上勾。
第二步 在输出的jsp页面加上参数
exporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND,Boolean.FALSE);
4.2.3 jsp输出EXCEL的例子
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="net.sf.jasperreports.engine.JasperFillManager" %>
<%@ page import="net.sf.jasperreports.engine.JasperPrint"%>
<%@ page import="net.sf.jasperreports.engine.JRException"%>
<%@ page import="net.sf.jasperreports.engine.JRExporterParameter"%>//excel
<%@ page import="net.sf.jasperreports.engine.export.JRXlsExporterParameter"%>//excel
<%@ page import="net.sf.jasperreports.engine.export.JRXlsExporter"%>//excel
<%
String rowid = "1";
Connection conn= DriverManager.getConnection("proxool.test");
//装载jasper文件application
File exe_rpt = new File(application.getRealPath("/excel/test_excel.jasper"));
//rowid就是iReport的变量$P{rowid}的名称
Map parameters = new HashMap();
parameters.put("rowid",rowid);
try{
// fill
JasperPrint jasperPrint = JasperFillManager.fillReport(exe_rpt.getPath(),parameters,conn);
// excel输出
ByteArrayOutputStream oStream = new ByteArrayOutputStream();
JRXlsExporter exporter = new JRXlsExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, oStream);
exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS,Boolean.TRUE); // 删除记录最下面的空行
exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET,Boolean.FALSE);// 删除多余的ColumnHeader
exporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND,Boolean.FALSE);// 显示边框
exporter.exportReport();
byte[] bytes = oStream.toByteArray();
if(bytes != null && bytes.length > 0) {
response.reset();
response.setContentType("application/vnd.ms-excel");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes,0,bytes.length);
ouputStream.flush();
ouputStream.close();
}else{
out.print("bytes were null!");
}
conn.close();
}catch(JRException ex){
out.print("Jasper Output Error:"+ex.getMessage());
}
%>
4.3 jsp输出html报表
没有意义,不写。
五、备注
5.1 下载地址
iReport的官方网站:http://ireport.sourceforge.net/
jasperreports的官方网站:http://jasperreports.sourceforge.net/
tTextAsian的官方下载地址:http://itextdocs.lowagie.com/downloads/iTextAsian.jar
jfreechart的官方下载地址:http://www.jfree.org/jfreechart/
jcommon的官方下载地址:http://www.jfree.org/jcommon/
poi的官方下载地址:http://www.apache.org/dyn/closer.cgi/jakarta/poi/
AUTHOR: JOMPER 2005.10.22
评论
2 楼
吉米家
2015-01-27
感觉帆软报表的flash打印就很不错哇,特别好用
1 楼
程俊2009
2012-02-25
这些是用来制作报表用的包,所以可以用最新的版本来代替原有包。但是务必保持与项目中的包一致,因为很多开源的项目都不向下兼容。(例如jasperreport)
现在 最新版本jasperreports-3.7.4.jar 运行出 java.lang.NullPointerException
at net.sf.jasperreports.engine.fill.JRFillImage.evaluateImage(JRFillImage.java:1034)
at net.sf.jasperreports.engine.fill.JRFillImage.evaluate(JRFillImage.java:1004)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:258)
at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:499)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillBackground(JRVerticalFiller.java:1800)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:259)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:127)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:942)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:841)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:58)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247)
at org.apache.jsp.testReport_jsp._jspService(testReport_jsp.java:118)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:394)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
jasperreports-1.0.1.jar 这个jar 找不到 ,要不你给个可下载的例子出来吧
现在 最新版本jasperreports-3.7.4.jar 运行出 java.lang.NullPointerException
at net.sf.jasperreports.engine.fill.JRFillImage.evaluateImage(JRFillImage.java:1034)
at net.sf.jasperreports.engine.fill.JRFillImage.evaluate(JRFillImage.java:1004)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:258)
at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:499)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillBackground(JRVerticalFiller.java:1800)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:259)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:127)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:942)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:841)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:58)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247)
at org.apache.jsp.testReport_jsp._jspService(testReport_jsp.java:118)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:394)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
jasperreports-1.0.1.jar 这个jar 找不到 ,要不你给个可下载的例子出来吧
发表评论
-
30个实用的网页设计工具
2013-03-20 09:58 778作为一位网页设计师或开发者,你一直需要搜寻获取强大的网页设计 ... -
java中byte转换int时为何与0xff进行与运算
2011-06-29 19:32 823在剖析该问题前请看如 ... -
BlazeDS集成 Flex+Tomcat开发J2EE模块整合实例
2010-11-18 11:15 2067BlazeDS集成 Flex+Tomcat开发J2EE模块整合 ... -
FckEditor学习笔记
2010-11-15 13:41 9901.Fckeditor官网:http://ckedit ... -
山寨Twitter+桌面IM客户端项目和源码发布
2010-11-13 18:29 1121这个项目是仿Twitter实现,但增加了桌面客户端,即以web ... -
Java读写Excel
2010-11-12 19:24 1162import org.apache.poi.hssf.user ... -
Java的MD5加密
2010-11-12 19:20 1062java.security包中提供了现成的一个MD5加密函数, ... -
Jsp中导出Excel报表
2010-11-12 19:19 1412在开发MIS系统的过程中 ... -
避免用户看到异常
2010-11-12 19:16 859尽管Struts框架提供了有效的异常处理机制,但不能保证处理所 ... -
Struts处理中文乱码问题总结
2010-11-12 19:13 808学了很久的java,接触SSH ... -
Eclipse实用快捷键大全
2010-11-12 19:10 703Ctrl+1 快速修复(最经典 ... -
Tomcat配置虚拟目录
2010-11-12 19:09 404配置方法: 1.修改端口:修改Tomcat 5.5\se ... -
设为首页和加入收藏
2010-11-12 19:07 610<INPUT TYPE="button&quo ... -
JSP使用FCKeditor控件
2010-11-12 19:06 2470FCKeditor是一个专门使用在网页上属于开放源代码的所 ... -
AS和Java的Rpg开发
2010-11-11 19:02 1170测试下怎么都可以,发布成exe文件,也没 ... -
junit 单元测试使用方法
2010-11-11 18:58 1017junit 是用来做单元测试,最近项目中可能要需要,所以了 ...
相关推荐
报表打印模块设计与实现 报表打印模块设计与实现 jsp 教程 源码
3、实现报表无需报表设计器,所有操作由程序控制; 4、灵活的弹性接口设计; 5、完善的打印预览和打印操作; 6、组件性能高效、轻量,可用于VB,VC,DELPHI,C++ Builder,PB,ASP,JSP,.NET等开发环境;
SpringMVC+jspereport,实现报表分页查看、文件(pdf、excel、word)导出,以及html展示和调用浏览器打印功能实现打印,报文都是采用ireport5.6.0设计
想学的进,想看的进,想精通的进.通常.我们在进行B/S模式的系统开发过程中都需 ...打印格式实现,其弊病是不能对报表格式进行预设,不 过现在有更好的解决办法了.就是采用iText类库实现 PDF格式的报表文件
3、实现报表无需报表设计器,所有操作由程序控制;4、灵活的弹性接口设计;5、完善的打印预览和打印操作;6、组件性能高效、轻量,可用于VB,VC,DELPHI,C++ Builder,PB,ASP,JSP,.NET等开发环境; 技术支持:QQ...
JSP 报表打印的一种简单实现方法,如果大家有更好的办法可以跟帖说明一下。
12、提供丰富交互事件,轻松实现报表行为自定义、穿透(透视)查询和报表交互。 13、重新发布简单:C/S报表只需分发两个DLL文件;B/S报表只要在WEB服务器布署报表网页与报表插件安装包,服务端不需其它配置,客户端零...
Cell 插件用于开发B/S结构程序,使用Asp, Asp.Net, Jsp, VbScript, JavaScript等语言开发,可以在浏览器中直接打印报表(非IE打印),带有国际化数字签名,让用户使用更方便,更安全。 · 具备Cell组件的所有特色...
本项目是一套基于Servlet+Jsp实现的学生成绩管理系统,主要针对计算机相关专业的正在做bishe的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目可以直接作为bishe使用。 项目都经过严格...
提供独有的报表查询显示功能,让报表查询显示、打印、打印预览及数据导出等功能集成一体化实现。轻松实现通用报表、表格报表、动态报表、多层表头、票据与发票套打、交叉表、表中表及各种特殊报表等。提供详尽帮助...
12、提供丰富交互事件,轻松实现报表行为自定义、穿透(透视)查询和报表交互。 13、重新发布简单:C/S报表只需分发两个DLL文件;B/S报表只要在WEB服务器布署报表网页与报表插件安装包,服务端不需其它配置,客户端零...
提供独有的报表查询显示功能,让报表查询显示、打印、打印预览及数据导出等功能集成一体化实现。轻松实现通用报表、表格报表、动态报表、多层表头、票据与发票套打、交叉表、表中表及各种特殊报表等。提供详尽帮助...
提供独有的报表查询展示功能,让报表查询展示、打印、打印预览及数据导出等集成一体化实现。轻松实现中式表格报表、动态报表、多层表头、票据套打、交叉表、统计图表、条形码等,是中式复杂报表的最佳开发工具。提供...
12、提供丰富交互事件,轻松实现报表行为自定义、穿透(透视)查询和报表交互。 13、重新发布简单:C/S报表只需分发两个DLL文件;B/S报表只要在WEB服务器布署报表网页与报表插件安装包,服务端不需其它配置,客户端零...
Cell 插件用于开发B/S结构程序,使用Asp, Asp.net, Jsp, VbScript, JavaScript等语言开发,可以在浏览器中直接打印报表(非IE打印),带有国际化数字签名,让用户使用更方便,更安全。 • 具备Cell组件的所有...
二、 使用JSP实现WORD、EXCEL格式报表打印 2 word页面只要在jsp头设置如下指令: 2 excel如下: 2 简单示例: 2 三、 在客户端生成Word文件 11 1 在client端直接生成word文档 11 小技巧: 12 2 在客户端输出存在...
提供独有的报表查询显示功能,让报表查询显示、打印、打印预览及数据导出等功能集成一体化实现。轻松实现通用报表、表格报表、动态报表、多层表头、票据与发票套打、交叉表、表中表及各种特殊报表等。提供详尽帮助...
精准打印 毫米精度,轻松实现POS小票,发票套打等. 多种语言 支持ASP, ASP.NET, PHP, JSP等开发语言. 超强兼容 独立运行,B/S、C/S兼容,发起请求即可调起打印. 可视设计 报表样式编辑,所见即所得,让天下没有难打的报表...
提供独有的报表查询显示功能,让报表查询显示、打印、打印预览及数据导出等功能集成一体化实现。轻松实现通用报表、表格报表、动态报表、多层表头、票据与发票套打、交叉表、表中表及各种特殊报表等。提供详尽帮助...