




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
模块十管理端-运营数据报表导出《JavaEE企业级应用开发项目教程(SSM)》知识目标/Target熟悉JasperReports的用法,能够使用JasperReports实现PDF文件导出技能目标/Target掌握Excel方式导出运营数据报表的方法,能够使用ApachePOI以Excel方式导出运营数据报表掌握PDF方式导出运营数据报表的方法,能够使用JasperReports以PDF方式导出运营数据报表章节概述/
Summary在有网络的环境下,传智健康的管理员可以随时随地浏览线上的运营数据报表,但有时候,管理员也希望能将线上的数据导出,独立保存在本地计算机中进行归档,以及做一些其他的数据加工等工作。对此,传智健康提供了两种运营数据报表导出功能,分别是Excel方式导出运营数据报表和PDF方式导出运营数据报表。接下来,本模块将对管理端的运营数据报表导出进行详细讲解。目录/Contents0102Excel方式导出运营数据报表PDF方式导出运营数据报表Excel方式导出运营数据报表10-1任务描述在浏览器中访问report_business.html页面。运营数据报表的内容是以表格的形式展示的,为了使报表导出之后的数据格式与运营数据报表本身的数据格式保持一致,可以将页面中的报表数据写入Excel文件,再通过浏览器进行下载。任务描述在report_business.html页面中,单击“导出Excel”按钮,导出完成后,页面底部显示下载了一个Excel格式的文件。任务分析根据report_business.html页面展示的报表,设计Excel模板文件并将其存放到指定目录下。(3)接收和处理导出Excel文件的请求ReportController类中的exportBusinessReport()方法接收页面提交的请求。(2)提交导出Excel文件的请求为report_business.html页面的“导出Excel”按钮绑定单击事件,在单击事件触发后提交导出Excel文件的请求。(4)查询运营数据逐个查询会员数据、预约与到诊数据和热门套餐等运营数据。(1)提供运营数据报表模板任务分析Excel方式导出运营数据报表的实现过程任务实现在health_backend子模块的src/main/webapp/template目录下,创建一个名称为report_template的XLSX文件作为模板文件,在该模板文件中创建一个名称为运营数据统计的sheet工作表,工作表中包含会员数据、预约与到诊数据和热门套餐。(1)提供Excel模板文件任务实现在report_business.html页面中,为“导出Excel”按钮绑定单击事件,并设置单击时要调用的方法,在该方法中提交导出Excel文件的请求。<divclass="excelTitle"><el-button@click="exportExcel()">导出Excel</el-button>
</div>(2)提交导出Excel文件的请求任务实现在页面中定义exportExcel()方法用于导出Excel文件。<script>varvue=newVue({
methods:{//导出Excel报表
exportExcel(){
window.location.href='/report/exportBusinessReport.do';}}})</script>(2)提交导出Excel文件的请求任务实现在health_backend子模块的ReportController类中定义exportBusinessReport()方法,用于接收并处理导出Excel文件的请求。通过调用ReportService接口的getBusinessReportData()方法获取运营数据,并读取数据写入与模板对应的变量或对象中;向模板中写入数据;进行文件下载。(3)实现Excel报表下载控制器任务实现在ReportController类的exportBusinessReport()方法中,调用了ReportService接口的getBusinessReportData()方法,该方法之前已经实现,这里不再重复,直接调用即可。(4)查询运营数据任务实现启动Zookeeper服务,在IDEA依次启动health_service_provider和health_backend,在浏览器中访http://localhost:82/pages/report_business.html。单击“导出Excel”按钮。(5)测试Excel方式导出运营数据报表任务实现(5)测试Excel方式导出运营数据报表(5)测试Excel方式导出运营数据报表PDF方式导出运营数据报表10-2任务描述在浏览器中访问report_business.html页面。PDF文件在企业办公中很常用,它不仅适合阅读,而且可以防止他人修改文件内容。传智健康管理端提供PDF方式导出运营数据报表的功能。任务描述在report_business.html页面单击“导出PDF”按钮,导出完成后,页面底部显示下载了一个PDF文件。任务分析根据report_business.html页面的内容设计PDF模板文件并将其存放到指定目录下。(3)接收和处理导出PDF文件的请求ReportController类中的exportBusinessReport4PDF()方法接收客户端发起导出PDF文件的请求。(2)提交导出PDF文件的请求为report_business.html页面的“导出PDF”按钮绑定单击事件,在单击事件触发后提交导出PDF文件请求。(4)查询运营数据逐个查询会员数据、预约与到诊数据和热门套餐等运营数据。(1)提供运营数据报表模板任务分析PDF方式导出运营数据报表的实现过程知识进阶使用PDF方式导出运营数据报表时,需要按照运营数据统计页面的内容分布创建PDF文件,然后将数据填充到PDF文件中。在实际企业项目开发中,有两种常见的PDF文件生成方式,具体如下。iText生成PDF。JasperReports生成PDF。由于iText的原生API编程比较烦琐,为了简化编程过程,在实际项目开发时,大多数情况下使用JasperReports生成PDF文件。对此本任务采用JasperReports结合模板设计器JaspersoftStudio生成PDF文件。知识进阶JasperReports是一个强大、灵活的报表生成工具,能够展示丰富的页面内容,并将之转换成PDF、HTML或者XML格式。JasperReports完全由Java语言编写而成,可以用在J2EE、Web等Java应用程序中生成动态内容。使用JasperReports时,需要导入JasperReports的依赖具体如下所示。<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.8.0</version></dependency>1.JasperReports简介知识进阶JasperReports导出报表的工作流程2.JasperReports的工作流程知识进阶第1步,创建JRXML文件,该文件包含报表布局定义的XML文档,可以通过手动编码完成,也可以使用报表设计工具JaspersoftStudio完成。第2步,使用JasperReports提供的JasperCompileManager工具将报表模板编译为.jasper文件;第3步,使用JasperReports提供的JasperFillManager工具填充编译后的.jasper文件,填充后生成一个.jrprint文件;第4步,使用文件导出器JasperExportManager将.jrprint文件导出成各种格式的报表文件。2.JasperReports的工作流程知识进阶先使用模板设计器JaspersoftStudio设计入门案例的报表模板文件demo.jrxml。将设计好的demo.jrxml文件复制到health_backend子模块中的src/main/webapp/template目录下。3.JasperReports入门案例(1)设计PDF报表模板文件知识进阶在health_common工程的pom.xml,引入JasperReports的依赖。<dependency><groupId>net.sf.jasperreports</groupId><artifactId>jasperreports</artifactId><version>6.8.0</version><exclusions><exclusion><groupId>com.lowagie</groupId><artifactId>itext</artifactId></exclusion></exclusions></dependency><dependency><groupId>com.lowagie</groupId><artifactId>itext</artifactId><version>2.1.7</version></dependency><dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId><version>4.12</version></dependency>3.JasperReports入门案例(2)引入JasperReports的依赖知识进阶在health_backend子模块的com.itheima.controller包下创建测试类TestExport,在类中定义testJasperReports()方法,用于测试导出PDF文件。publicclassTestExport{
@TestpublicvoidtestJasperReports()throwsException{//获取pdf模板文件绝对磁盘路径StringjrxmlPath="D:\\a-czjk\\health_parent\\"+"health_backend\\src\\main\\webapp\\template\\demo.jrxml";StringjasperPath="D:\\a-czjk\\health_parent\\"+"health_backend\\src\\main\\webapp\\template\\demo.jasper";
JasperCompileMpileReportToFile(jrxmlPath,jasperPath);//编译模板省略构造数据JasperPrintjasperPrint=JasperFillManager.fillReport(jasperPath,
paramters,newJRBeanCollectionDataSource(list));//填充数据StringpdfPath="D:\\test.pdf";//输出文件JasperExportManager.exportReportToPdfFile(jasperPrint,pdfPath);}}3.JasperReports入门案例(3)编写单元测试方法知识进阶name为中文“小明”的数据没有显示出来,由于JasperReports的jar包中不包含中文的字体库,导致默认情况下中文无法正常显示,对此,可以在程序中导入中文字体库以解决中文无法显示的问题。3.JasperReports入门案例(4)测试导出PDF文件知识进阶导入的字体库文件包括fonts.xml和stsong.ttf,其中,fonts.xml用于配置字体信息,stsong.ttf表示华文宋体的字体文件。3.JasperReports入门案例(5)导入中文字体库知识进阶3.JasperReports入门案例(5)导入中文字体库net.sf.jasperreports.extension.registry.factory.simple.font.families=\net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactorynet.sf.jasperreports.extension.simple.font.families.lobstertwo=\
stsong/fonts.xml在health_backend子模块的src/main/resources目录下创建jasperreports_perties配置文件,并在配置文件中添加如下配置信息。知识进阶3.JasperReports入门案例(6)修改demo.jrxml<textField><reportElementx="60"y="4"width="100"height="30"uuid="9fd8ea6a-722d-4c35-a4dc-74f3ed490709"/><textElement><fontfontName="华文宋体"size="14"/></textElement><textFieldExpression><![CDATA[$F{name}]]></textFieldExpression></textField>打开demo.jrxml模板文件查看内容,找到模板中需要显示中文的元素,统一将字体设置为华文宋体。知识进阶3.JasperReports入门案例(7)运行testJasperReports()方法任务实现使用模板设计器JaspersoftStudio设计运营数据报表的模板文件health_business3.jrxml。将设计好的模板文件复制到health_backend子模块的src/main/webapp/template目录下。(1)提供PDF模板文件任务实现在report_business.html页面,为“导出PDF”按钮绑定单击事件,并设置单击时要调用的方法,在方法中提交导出PDF文件的请求。<divclass="excelTitle"><el-button@click="exportPDF()">导出PDF</el-button>
</div>(2)提交导出PDF文件的请求任务实现在report_business.html页面中定义exportPDF()方法用于导出PDF文件。<script>varvue=newVue({
methods:{//导出PDF报表
exportPDF(){
window.location.href='/report/exportBusinessReport4PDF.do';}}})</script>(2)提交导出PDF文件的请求任务实现在health_backend子模块的ReportController类中定义exportBusinessReport4PDF()方法,用于接收并处理导出PDF
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论