《报表及报表设计.ppt》由会员分享,可在线阅读,更多相关《报表及报表设计.ppt(36页珍藏版)》请在三一办公上搜索。
1、,报表及报表设计,主要内容:,报表概念、分类、示例报表软件及分类报表结构设计(iReport)实例(JasperReport+iReport+JSP)其它,什么是报表,报表就是用表格、图表等格式来动态显示数据。可以用公式表示为:“报表 多样的格式 动态的数据”。报表是数据统计结果的呈现。常见的报表格式有表格,以及各种统计图表。BI(商业智能)大致分为报表、分析、挖掘三个层次,报表是BI的基础。Excel、Word等编辑工具可以做出很复杂的报表格式,但不能动态的加载报表数据。计算机报表软件实现了报表数据和格式的完全分离。,报表分类,从格式:列举式报表、摘要式报表、矩阵式报表、钻取式报表;从画表形
2、式:类Excel报表、拖拽式报表(也称画布式报表);从行业:财务报表,报表示例1:计算百分比,报表示例2:交叉表,报表示例3:多级交叉表,报表示例4:显示图片,报表示例5,报表软件,电子表格类(SpreadSheet):Excel、用友华表、Formula One等。主要处理平面报表格式,数据排列、运算问题等,可以做出很复杂的报表格式,但不能动态的加载报表数据。动态报表生成软件:国外的水晶报表、FastReport、Jasper Report、JReport、Style Report;国内的杰表、简表(JOR)、润乾报表、快逸报表、如意报表、数巨报表等;报表管理软件:主要解决报表采集、层层上报
3、汇总的需求,特点是编辑非常灵活快捷、能处理复杂的指标运算,自动管理报表数据;如久其报表、新连线PowerReport、友通报表等;商业智能及分析报表软件:价格昂贵,国外厂商处于绝对领先地位,BO Intelligence、Congnas Powerplay等;,开源报表软件,Jasper Report:the worlds most popular open source reporting engine.It is entirely written in Java and it is able to use data coming from any kind of data source a
4、nd produce pixel-perfect documents that can be viewed,printed or exported in a variety of document formats including HTML,PDF,Excel,OpenOffice and Word.优点:开源,功能强大,纯Java实现,应用广泛;缺点:文档不免费;简表(JOR):一款开源的报表工具,完全java实现,核心代码来自于国内一线报表工具品牌杰表.2008。优点:开源,纯Java实现,支持可视化的设计报表,支持较复杂报表设计;缺点:版本更新维护慢,动态灵活性差?,报表结构,结构示例
5、,JasperReportjrxml,.,parameter:代表报表的查询参数。比如上一页所举例子中的“书籍类型”。queryString:代表从数据库取数据的Query。一个queryString中一般会有若干个parameter。field:代表报表数据的字段。variable:变量,意即它在报表的不同位置、在报表运行的不同时刻都会有不同的值。它一搬用来实现各个Band内容的动态显示,JasperReportjrxml示例,/JasperReport根元素/参数,书籍类型/作为数据源的Query/变量:报告日期/3个field:编号,名称,类型/title band,对应于上例中的“DI
6、SK类书籍汇总”./PageHeader Band,对应于上例中的“第1页”.,JasperReportjrxml示例,/ColumnHeader Band,对应于例中的列名./Detail Band 对应于表格中的内容/ColumnFooter Band,在例中为空/PageFooter Band,对应于例中的“本页合计:15”.,JasperReportjrxml示例,/Summary Band,在例中对应于 总计:37 以及“三月 26,2005”.,Ireport:能够解析、生成Jasper Report代码的GUI工具,来帮助我们进行报表设计。用Ireport和Jasperrepor
7、t整合开发报表是最常用的开发模式。,JasperReport+iReport+JSP,需求分析:这个程序按书籍类别汇总一个小型图书室的书籍,以报表的形式列出书籍清单,统计书籍的册数。报表的格式包括HTML和EXCEL,其中WEB方式用于预览,EXCEL方式让用户保存文件以离线浏览。Use Case:用户以WEB方式登录报表参数输入页面,输入书籍类型,提交表单后,在浏览器中显示报表结果让用户预览。用户预览后可以点击“生成XLS文件”,就会得到与预览页面数据相同的Excel报表。,iReport报表设计,iReport报表设计,iReport报表设计,iReport报表设计,iReport报表设计
8、,JasperReport+iReport+JSP,/得到数据源Connection conn=DriverManager.getConnection(jdbc:mysql:/localhost:3306/library?characterEncoding=GBK,root,root);/确定报表文件(*.jasper)的路径File reportFile=new File(application.getRealPath(/report1.jasper);/下面这行代码告诉我们一个Jasper Report在JAVA程序中是一个对象JasperReport jasperReport=(Jasp
9、erReport)JRLoader.loadObject(reportFile.getPath();Map parameters=new HashMap();/用“名值对”的方式来传递报表参数parameters.put(type,Disk);/下面这行代码告诉我们下一步是要填充(fill)报表JasperPrint jasperPrint=JasperFillManager.fillReport(jasperReport,parameters,conn);/运行报表的最一步则是要导出(exort)报表到一个输出流JRHtmlExporter exporter=new JRHtmlExport
10、er();session.setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE,jasperPrint);exporter.setParameter(JRExporterParameter.JASPER_PRINT,jasperPrint);exporter.setParameter(JRExporterParameter.OUTPUT_WRITER,out);exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI,servlets/image?image=);
11、/导出报表exporter.exportReport();/导出Excel报表JRXlsExporter exlExporter=new JRXlsExporter();response.setContentType(application/vnd.ms-excel);ServletOutputStream output=response.getOutputStream();exlExporter.setParameter(JRExporterParameter.JASPER_PRINT,jasperPrint);exlExportersetParameter(JRExporterParame
12、ter.OUTPUT_STREAM,output);exlExporter.exportReport();,JasperReport-webapp,JasperReport-webapp,各种导出格式:PDF,HTML,XLS,RTF,ODT,CSV,TXT and XML,JasperReport-webapp,PDF导出:,JOR(简表)使用手册,JOR(简表)设计器,JOR(简表)设计器,JOR(简表)web示例,JOR(简表)web示例,jQuery Sheet-电子表格组件,jQuery.sheet gives you all sorts of possibilities when
13、it comes to giving your web application a spreadsheet style interface with MS Excel style calculations.jQuery.sheet manages the sheet creation,viewing,and editing processes.It can even be used like a datagrid,without calculations.For a complete list of all the MS Excel style functions that jQuery.sh
14、eet supports,take a look at the Demo,which is the documentation.FeaturesMulti-sheets(create new right from the ui)Multi instanceCross-sheet calculationsRe-sizable(columns,rows,sheet)Fast Calculations EngineSelectable Rows and ColumnsShifting formulas(when insert or delete it updates surrounding formulas)Cross browser compatibilityEasy for developers to integrateEasy for users to learnXML/JSON/HTML export/importIn-line Controls(select list,radio buttons,checkboxes)Charts Themeable Based on html tablesFully AJAX ready,jQuery Sheet-电子表格组件,XinHuaShe-统计报表示例,XinHuaShe-统计报表示例,