模塊十 管理端-運營數(shù)據(jù)報表導出_第1頁
模塊十 管理端-運營數(shù)據(jù)報表導出_第2頁
模塊十 管理端-運營數(shù)據(jù)報表導出_第3頁
模塊十 管理端-運營數(shù)據(jù)報表導出_第4頁
模塊十 管理端-運營數(shù)據(jù)報表導出_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

模塊十管理端-運營數(shù)據(jù)報表導出《JavaEE企業(yè)級應用開發(fā)項目教程(SSM)》知識目標/Target熟悉JasperReports的用法,能夠使用JasperReports實現(xiàn)PDF文件導出技能目標/Target掌握Excel方式導出運營數(shù)據(jù)報表的方法,能夠使用ApachePOI以Excel方式導出運營數(shù)據(jù)報表掌握PDF方式導出運營數(shù)據(jù)報表的方法,能夠使用JasperReports以PDF方式導出運營數(shù)據(jù)報表章節(jié)概述/

Summary在有網(wǎng)絡的環(huán)境下,傳智健康的管理員可以隨時隨地瀏覽線上的運營數(shù)據(jù)報表,但有時候,管理員也希望能將線上的數(shù)據(jù)導出,獨立保存在本地計算機中進行歸檔,以及做一些其他的數(shù)據(jù)加工等工作。對此,傳智健康提供了兩種運營數(shù)據(jù)報表導出功能,分別是Excel方式導出運營數(shù)據(jù)報表和PDF方式導出運營數(shù)據(jù)報表。接下來,本模塊將對管理端的運營數(shù)據(jù)報表導出進行詳細講解。目錄/Contents0102Excel方式導出運營數(shù)據(jù)報表PDF方式導出運營數(shù)據(jù)報表Excel方式導出運營數(shù)據(jù)報表10-1任務描述在瀏覽器中訪問report_business.html頁面。運營數(shù)據(jù)報表的內(nèi)容是以表格的形式展示的,為了使報表導出之后的數(shù)據(jù)格式與運營數(shù)據(jù)報表本身的數(shù)據(jù)格式保持一致,可以將頁面中的報表數(shù)據(jù)寫入Excel文件,再通過瀏覽器進行下載。任務描述在report_business.html頁面中,單擊“導出Excel”按鈕,導出完成后,頁面底部顯示下載了一個Excel格式的文件。任務分析根據(jù)report_business.html頁面展示的報表,設計Excel模板文件并將其存放到指定目錄下。(3)接收和處理導出Excel文件的請求ReportController類中的exportBusinessReport()方法接收頁面提交的請求。(2)提交導出Excel文件的請求為report_business.html頁面的“導出Excel”按鈕綁定單擊事件,在單擊事件觸發(fā)后提交導出Excel文件的請求。(4)查詢運營數(shù)據(jù)逐個查詢會員數(shù)據(jù)、預約與到診數(shù)據(jù)和熱門套餐等運營數(shù)據(jù)。(1)提供運營數(shù)據(jù)報表模板任務分析Excel方式導出運營數(shù)據(jù)報表的實現(xiàn)過程任務實現(xiàn)在health_backend子模塊的src/main/webapp/template目錄下,創(chuàng)建一個名稱為report_template的XLSX文件作為模板文件,在該模板文件中創(chuàng)建一個名稱為運營數(shù)據(jù)統(tǒng)計的sheet工作表,工作表中包含會員數(shù)據(jù)、預約與到診數(shù)據(jù)和熱門套餐。(1)提供Excel模板文件任務實現(xiàn)在report_business.html頁面中,為“導出Excel”按鈕綁定單擊事件,并設置單擊時要調用的方法,在該方法中提交導出Excel文件的請求。<divclass="excelTitle"><el-button@click="exportExcel()">導出Excel</el-button>

</div>(2)提交導出Excel文件的請求任務實現(xiàn)在頁面中定義exportExcel()方法用于導出Excel文件。<script>varvue=newVue({

methods:{//導出Excel報表

exportExcel(){

window.location.href='/report/exportBusinessReport.do';}}})</script>(2)提交導出Excel文件的請求任務實現(xiàn)在health_backend子模塊的ReportController類中定義exportBusinessReport()方法,用于接收并處理導出Excel文件的請求。通過調用ReportService接口的getBusinessReportData()方法獲取運營數(shù)據(jù),并讀取數(shù)據(jù)寫入與模板對應的變量或對象中;向模板中寫入數(shù)據(jù);進行文件下載。(3)實現(xiàn)Excel報表下載控制器任務實現(xiàn)在ReportController類的exportBusinessReport()方法中,調用了ReportService接口的getBusinessReportData()方法,該方法之前已經(jīng)實現(xiàn),這里不再重復,直接調用即可。(4)查詢運營數(shù)據(jù)任務實現(xiàn)啟動Zookeeper服務,在IDEA依次啟動health_service_provider和health_backend,在瀏覽器中訪http://localhost:82/pages/report_business.html。單擊“導出Excel”按鈕。(5)測試Excel方式導出運營數(shù)據(jù)報表任務實現(xiàn)(5)測試Excel方式導出運營數(shù)據(jù)報表(5)測試Excel方式導出運營數(shù)據(jù)報表PDF方式導出運營數(shù)據(jù)報表10-2任務描述在瀏覽器中訪問report_business.html頁面。PDF文件在企業(yè)辦公中很常用,它不僅適合閱讀,而且可以防止他人修改文件內(nèi)容。傳智健康管理端提供PDF方式導出運營數(shù)據(jù)報表的功能。任務描述在report_business.html頁面單擊“導出PDF”按鈕,導出完成后,頁面底部顯示下載了一個PDF文件。任務分析根據(jù)report_business.html頁面的內(nèi)容設計PDF模板文件并將其存放到指定目錄下。(3)接收和處理導出PDF文件的請求ReportController類中的exportBusinessReport4PDF()方法接收客戶端發(fā)起導出PDF文件的請求。(2)提交導出PDF文件的請求為report_business.html頁面的“導出PDF”按鈕綁定單擊事件,在單擊事件觸發(fā)后提交導出PDF文件請求。(4)查詢運營數(shù)據(jù)逐個查詢會員數(shù)據(jù)、預約與到診數(shù)據(jù)和熱門套餐等運營數(shù)據(jù)。(1)提供運營數(shù)據(jù)報表模板任務分析PDF方式導出運營數(shù)據(jù)報表的實現(xiàn)過程知識進階使用PDF方式導出運營數(shù)據(jù)報表時,需要按照運營數(shù)據(jù)統(tǒng)計頁面的內(nèi)容分布創(chuàng)建PDF文件,然后將數(shù)據(jù)填充到PDF文件中。在實際企業(yè)項目開發(fā)中,有兩種常見的PDF文件生成方式,具體如下。iText生成PDF。JasperReports生成PDF。由于iText的原生API編程比較煩瑣,為了簡化編程過程,在實際項目開發(fā)時,大多數(shù)情況下使用JasperReports生成PDF文件。對此本任務采用JasperReports結合模板設計器JaspersoftStudio生成PDF文件。知識進階JasperReports是一個強大、靈活的報表生成工具,能夠展示豐富的頁面內(nèi)容,并將之轉換成PDF、HTML或者XML格式。JasperReports完全由Java語言編寫而成,可以用在J2EE、Web等Java應用程序中生成動態(tài)內(nèi)容。使用JasperReports時,需要導入JasperReports的依賴具體如下所示。<dependency>

<groupId>net.sf.jasperreports</groupId>

<artifactId>jasperreports</artifactId>

<version>6.8.0</version></dependency>1.JasperReports簡介知識進階JasperReports導出報表的工作流程2.JasperReports的工作流程知識進階第1步,創(chuàng)建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包下創(chuàng)建測試類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);//編譯模板省略構造數(shù)據(jù)JasperPrintjasperPrint=JasperFillManager.fillReport(jasperPath,

paramters,newJRBeanCollectionDataSource(list));//填充數(shù)據(jù)StringpdfPath="D:\\test.pdf";//輸出文件JasperExportManager.exportReportToPdfFile(jasperPrint,pdfPath);}}3.JasperReports入門案例(3)編寫單元測試方法知識進階name為中文“小明”的數(shù)據(jù)沒有顯示出來,由于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目錄下創(chuàng)建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模板文件查看內(nèi)容,找到模板中需要顯示中文的元素,統(tǒng)一將字體設置為華文宋體。知識進階3.JasperReports入門案例(7)運行testJasperReports()方法任務實現(xiàn)使用模板設計器JaspersoftStudio設計運營數(shù)據(jù)報表的模板文件health_business3.jrxml。將設計好的模板文件復制到health_backend子模塊的src/main/webapp/template目錄下。(1)提供PDF模板文件任務實現(xiàn)在report_business.html頁面,為“導出PDF”按鈕綁定單擊事件,并設置單擊時要調用的方法,在方法中提交導出PDF文件的請求。<divclass="excelTitle"><el-button@click="exportPDF()">導出PDF</el-button>

</div>(2)提交導出PDF文件的請求任務實現(xiàn)在report_business.html頁面中定義exportPDF()方法用于導出PDF文件。<script>varvue=newVue({

methods:{//導出PDF報表

exportPDF(){

window.location.href='/report/exportBusinessReport4PDF.do';}}})</script>(2)提交導出PDF文件的請求任務實現(xiàn)在health_backend子模塊的ReportController類中定義exportBusinessReport4PDF()方法,用于接收并處理導出PDF

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論