以用户角度出发,你就已经成功一半了.
一、为什么是jasperreport 很简单两点: 1 免费 2 在大多数开源产品中最能满足本人/公司的需求. 如果要一句话总结那么就是 "适合就好!" ,其次再想插一句"其实jasperreport可以做得更好,只是缺少大家去发现。" 在erp软件开发中一套强大易用的报表工具还是相当重要的地位,在这里我只针对一些日常业务报表. jasperreport + ireport 报表套装在普通的报表中已做得很不错:流水账式的,分组报表都可以轻松实现.在这里提出的是一些相对特别以及少用到的报表设计问题. 当前版本 : jasperreport 1.1.0 ireport : 0.5.2二、问题与解决 1.操作 初用ireport 设计报表(特别是早期的版本)感觉还是比较原始,相对于birt 类似于在 Dreamweaver中画table 式的设计还是有点差距.但新版本(0.5.2)中也有不小的改善,增加了很多快速对齐,格式化的工具栏以及快捷操作方式.通过结合这些操作还算是方便了不少.2.分页 刚接触jasper report ,无论是看其官方的example还是自己动手设计报表, html view 总给人很深的印象:"怎么字体那么小,而且实际打印一下,分页功能并没真正实现" 经过客户一轮的抗义,最终还是下定决心去修补一下, 其实jasper report 原理还是挺简单: 它默认的分页方式是能过一轮的高度计算,再用两个<br>就以为了事了.
解决方案: 好在jasperreport还提供了很好的扩展方案.它允许我们自定义分页方式(就是说在两页/table之间能让我们放自己的代码),自己定义betweenPagesHtml 就OK了,可以能过CSS定义分页.在这里,我就直接改它代码算了.大家可以自己选择. net.sf.jasperreports.engine.export.JRHtmlExporter
posted on 2005-11-28 20:35 一凡@ITO 阅读(13497) 评论(6) 编辑 收藏 所属分类: Bi report Tools
有点关于jasperreport的问题请教 我下载了jasperreport1.1.0的代码,其中有许多DEMO但是我却运行不起来,老是报如下错误不知是何原因,但0.68版本却可以,错误如下 : Buildfile: H:\study\report\jasperreports-1.2.0-project\jasperreports-1.2.0\demo\samples\shapes\build.xml compile: [jrc] Compiling 1 report design files. [jrc] 2006-2-15 21:42:18 org.apache.commons.digester.Digester getParser [jrc] 严重: Digester.getParser: [jrc] org.xml.sax.SAXNotRecognizedException: Feature: http://apache.org/xml/features/validation/dynamic [jrc] at org.apache.crimson.parser.XMLReaderImpl.setFeature(Unknown Source) [jrc] at org.apache.crimson.jaxp.SAXParserImpl.setFeatures(Unknown Source) [jrc] at org.apache.crimson.jaxp.SAXParserImpl.<init>(Unknown Source) [jrc] at org.apache.crimson.jaxp.SAXParserFactoryImpl.newSAXParserImpl(Unknown Source) [jrc] at org.apache.crimson.jaxp.SAXParserFactoryImpl.setFeature(Unknown Source) [jrc] at org.apache.commons.digester.parser.XercesParser.configureXerces(XercesParser.java:185) [jrc] at org.apache.commons.digester.parser.XercesParser.newSAXParser(XercesParser.java:138) [jrc] at org.apache.commons.digester.ParserFeatureSetterFactory.newSAXParser(ParserFeatureSetterFactory.java:71) [jrc] at org.apache.commons.digester.Digester.getParser(Digester.java:692) [jrc] at org.apache.commons.digester.Digester.getXMLReader(Digester.java:899) [jrc] at org.apache.commons.digester.Digester.parse(Digester.java:1647) [jrc] at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:238) [jrc] at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:225) [jrc] at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:213) [jrc] at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:167) [jrc] at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:151) [jrc] at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:107) [jrc] at net.sf.jasperreports.ant.JRAntCompileTask.compile(JRAntCompileTask.java:398) [jrc] at net.sf.jasperreports.ant.JRAntCompileTask.execute(JRAntCompileTask.java:252) [jrc] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275) [jrc] at org.apache.tools.ant.Task.perform(Task.java:364) [jrc] at org.apache.tools.ant.Target.execute(Target.java:341) [jrc] at org.apache.tools.ant.Target.performTasks(Target.java:369) [jrc] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216) [jrc] at org.apache.tools.ant.Project.executeTarget(Project.java:1185) [jrc] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40) [jrc] at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32) [jrc] at org.apache.tools.ant.Project.executeTargets(Project.java:1068) [jrc] at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423) [jrc] at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137) File : H:\study\report\jasperreports-1.2.0-project\jasperreports-1.2.0\demo\samples\shapes\ShapesReport.jrxml ... BUILD FAILED H:\study\report\jasperreports-1.2.0-project\jasperreports-1.2.0\demo\samples\shapes\build.xml:30: java.lang.NullPointerException Total time: 2 seconds 希望能指点一下,不胜感激,我的邮箱:kswdgx◎163.com 回复 更多评论
good 回复 更多评论
打印问题设置为cm后依然存在 回复 更多评论
请教,如何能把jasper 生成的多个excel文件,合并为多个sheet的一个文件?我的邮箱 gll1976@yahoo.com.cn 回复 更多评论
如何分组? 回复 更多评论
@kswdgx 我也碰到类似的问题了,一直google不到解决办法,今儿解决了,所以就在这儿回复您吧,虽然看起来我们一问一答的时间差的很远^^ 我的环境是win2003 sp2,jdk1.5.0_11,resin-3.1.0 [17:54:11.296] Compiling _jsp/_jsp/_compile__jsp.java [17:54:12.171] Digester.getParser: [17:54:12.171] org.xml.sax.SAXNotRecognizedException: http://apache.org/xml/feat ures/validation/dynamic [17:54:12.171] at com.caucho.xml.parsers.XmlSAXParserFactory.setFeature(XmlSAXP arserFactory.java:93) [17:54:12.171] at org.apache.commons.digester.parser.XercesParser.configureXerc es(XercesParser.java:185) [17:54:12.171] at org.apache.commons.digester.parser.XercesParser.newSAXParser( XercesParser.java:138) 只看到这儿,很容易联想到是xml解析器jar包里的冲突,经排查是xercesImpl.jar包的问题,移出lib即可,这个包记得在我用hibernate时也冲突过,以后还得提防着他点儿^^ 回复 更多评论
Powered by: BlogJava Copyright © 一凡@ITO