以用戶角度出發(fā),你就已經(jīng)成功一半了.
一、為什么是jasperreport 很簡單兩點(diǎn): 1 免費(fèi) 2 在大多數(shù)開源產(chǎn)品中最能滿足本人/公司的需求. 如果要一句話總結(jié)那么就是 "適合就好!" ,其次再想插一句"其實jasperreport可以做得更好,只是缺少大家去發(fā)現(xiàn)。" 在erp軟件開發(fā)中一套強(qiáng)大易用的報表工具還是相當(dāng)重要的地位,在這里我只針對一些日常業(yè)務(wù)報表. jasperreport + ireport 報表套裝在普通的報表中已做得很不錯:流水賬式的,分組報表都可以輕松實現(xiàn).在這里提出的是一些相對特別以及少用到的報表設(shè)計問題. 當(dāng)前版本 : jasperreport 1.1.0 ireport : 0.5.2二、問題與解決 1.操作 初用ireport 設(shè)計報表(特別是早期的版本)感覺還是比較原始,相對于birt 類似于在 Dreamweaver中畫table 式的設(shè)計還是有點(diǎn)差距.但新版本(0.5.2)中也有不小的改善,增加了很多快速對齊,格式化的工具欄以及快捷操作方式.通過結(jié)合這些操作還算是方便了不少.2.分頁 剛接觸jasper report ,無論是看其官方的example還是自己動手設(shè)計報表, html view 總給人很深的印象:"怎么字體那么小,而且實際打印一下,分頁功能并沒真正實現(xiàn)" 經(jīng)過客戶一輪的抗義,最終還是下定決心去修補(bǔ)一下, 其實jasper report 原理還是挺簡單: 它默認(rèn)的分頁方式是能過一輪的高度計算,再用兩個<br>就以為了事了.
解決方案: 好在jasperreport還提供了很好的擴(kuò)展方案.它允許我們自定義分頁方式(就是說在兩頁/table之間能讓我們放自己的代碼),自己定義betweenPagesHtml 就OK了,可以能過CSS定義分頁.在這里,我就直接改它代碼算了.大家可以自己選擇. net.sf.jasperreports.engine.export.JRHtmlExporter
posted on 2005-11-28 20:35 一凡@ITO 閱讀(13506) 評論(6) 編輯 收藏 所屬分類: Bi report Tools
有點(diǎn)關(guān)于jasperreport的問題請教 我下載了jasperreport1.1.0的代碼,其中有許多DEMO但是我卻運(yùn)行不起來,老是報如下錯誤不知是何原因,但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] 嚴(yán)重: 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 希望能指點(diǎn)一下,不勝感激,我的郵箱:kswdgx◎163.com 回復(fù) 更多評論
good 回復(fù) 更多評論
打印問題設(shè)置為cm后依然存在 回復(fù) 更多評論
請教,如何能把jasper 生成的多個excel文件,合并為多個sheet的一個文件?我的郵箱 gll1976@yahoo.com.cn 回復(fù) 更多評論
如何分組? 回復(fù) 更多評論
@kswdgx 我也碰到類似的問題了,一直google不到解決辦法,今兒解決了,所以就在這兒回復(fù)您吧,雖然看起來我們一問一答的時間差的很遠(yuǎn)^^ 我的環(huán)境是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) 只看到這兒,很容易聯(lián)想到是xml解析器jar包里的沖突,經(jīng)排查是xercesImpl.jar包的問題,移出lib即可,這個包記得在我用hibernate時也沖突過,以后還得提防著他點(diǎn)兒^^ 回復(fù) 更多評論
Powered by: BlogJava Copyright © 一凡@ITO