freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

excelreport使用手冊(cè)(完整版)

  

【正文】 報(bào)表示例: 20 20 配置模板文件 20 設(shè)計(jì)嵌入對(duì)象 20結(jié)束語(yǔ): 20一 Excel Report簡(jiǎn)介: 什么是Excel Report?Excel Report是一款基于Excel的報(bào)表生成工具,它通過用戶定義報(bào)表模板文件,定義數(shù)據(jù)源,并配置相應(yīng)的配置文件,就可以通過頁(yè)面向指定Servlet請(qǐng)求輸出報(bào)表,其生成的報(bào)表是一個(gè)excel文件。通過模板文件的方式來(lái)生成Excel文件,可以讓程序員從生成特定格式的Excel文件的輸出格式控制以及Excel文件讀寫等紛繁復(fù)雜而又容易出錯(cuò)的細(xì)節(jié)中解放出來(lái),使得程序員只需組裝自己的數(shù)據(jù)源,而根本不需要關(guān)心如何去生成Excel文件,如何去控制最終的文件輸出效果等細(xì)節(jié),從而大大減輕了制作一個(gè)Excel報(bào)表的工作量,并增強(qiáng)了程序的可維護(hù)性,因?yàn)楹芏嗟膱?bào)表的修改只需通過模板文件的修改就可以實(shí)現(xiàn),而無(wú)需改動(dòng)程序。6. 支持所有Excel的函數(shù)。用戶可以插入自己的查詢監(jiān)聽器,通過監(jiān)聽數(shù)據(jù)源的查詢請(qǐng)求來(lái)做相關(guān)數(shù)據(jù)的檢索及處理等工作(該功能在主從報(bào)表中尤其有用)。二 體驗(yàn)生成一個(gè)簡(jiǎn)單報(bào)表的制作過程: 計(jì)算機(jī)世界里面大多數(shù)語(yǔ)言類的教程,在起始部分都會(huì)有一個(gè)經(jīng)典的Hello World小程序,作為整個(gè)書的開篇,當(dāng)然這樣一個(gè)用例放在全文的開始,一來(lái)可以使讀者可以快速的感受下所學(xué)東西的功能,二來(lái)也可以讓讀者快速上手,通過成功運(yùn)行一個(gè)簡(jiǎn)單例子,而獲得一定的成就感,從而增強(qiáng)繼續(xù)學(xué)習(xí)下去的信心。在配置文件中加入下面配置信息:datasource name=helloworld_ds type=database sql value=select * from user/ /datasource report name=helloworld templetfile= sheet name=helloworld index=0 reportstyle=list datasource name=ds source=helloworld_ds /datasource /sheet /report2. 如圖紅線圈住地方配置你的數(shù)據(jù)集字段要輸出的位置。我們可以很方便地通過更改模板文件來(lái)更改報(bào)表的具體輸出效果,而這一過程可以做到盡可能小的影響到數(shù)據(jù)源的相關(guān)業(yè)務(wù)邏輯。 datasource 節(jié)點(diǎn)上面我們說過datasource是用來(lái)描述一個(gè)數(shù)據(jù)源,該節(jié)點(diǎn)定義一個(gè)全局的數(shù)據(jù)源信息,當(dāng)定義好一個(gè)全局的數(shù)據(jù)源之后,就可以在我們具體的報(bào)表里面應(yīng)用該數(shù)據(jù)源。 Type:有兩種類型database和static(注意區(qū)分大小寫),前者(type=” database”)表示當(dāng)前數(shù)據(jù)源是數(shù)據(jù)庫(kù)自動(dòng)檢索類型的數(shù)據(jù)源(該類數(shù)據(jù)源用戶只需配置sql語(yǔ)句和參數(shù),數(shù)據(jù)源會(huì)自動(dòng)從數(shù)據(jù)庫(kù)檢索數(shù)據(jù);后者(type=” static”)表示當(dāng)前數(shù)據(jù)源是一個(gè)靜態(tài)的數(shù)據(jù)源,(該類數(shù)據(jù)源數(shù)據(jù)需要使用者在代碼里面手動(dòng)填入)2.Sql子節(jié)點(diǎn): 該節(jié)點(diǎn)只有在type=” database”類型的數(shù)據(jù)源中配置有效, Value:配置一條sql語(yǔ)句,在數(shù)據(jù)源去自動(dòng)檢索數(shù)據(jù)時(shí)會(huì)調(diào)用該sql查詢數(shù)據(jù)。當(dāng)然該參數(shù)也可以運(yùn)用在static類型的數(shù)據(jù)源中。 Class:標(biāo)識(shí)嵌入對(duì)象類全名,該名稱是一個(gè)包含包路徑信息的完整類名描述。可以指定的列表風(fēng)格有以下幾種: 風(fēng)格名稱說明card標(biāo)識(shí)當(dāng)前輸出報(bào)表是一個(gè)卡片風(fēng)格的報(bào)表,卡片風(fēng)格的報(bào)表就是整個(gè)報(bào)表輸出結(jié)果類似于一張卡片,其中只有一些固定項(xiàng)目的內(nèi)容需填充在卡片報(bào)表的具體位置,且結(jié)果集都只有一條記錄。指定一個(gè)數(shù)據(jù)源名稱,該名稱在一個(gè)全局datasource中定義的名稱。比如,在一條分組數(shù)據(jù)中,如果要產(chǎn)生正確的分組效果,數(shù)據(jù)源對(duì)應(yīng)的sql語(yǔ)句必須通過order by 先對(duì)數(shù)據(jù)進(jìn)行分組,這樣就可以保證產(chǎn)生的數(shù)據(jù)已經(jīng)按照需要分組的要求順序排列在數(shù)據(jù)源中。 表尾:整個(gè)報(bào)表的結(jié)束部分。 band數(shù)據(jù)區(qū)尾:每個(gè)band數(shù)據(jù)區(qū)結(jié)束部分。組模板定義有幾個(gè)屬性值必須指定:Name:標(biāo)識(shí)當(dāng)前組名稱Property:標(biāo)識(shí)當(dāng)前組定義區(qū)域,有四個(gè)可選值(head組頭,body組數(shù)據(jù)區(qū),foot組結(jié)尾,end組定義結(jié)束 注:該屬性值是有順序的,模板的定義必須是headbodyfootend否則系統(tǒng)會(huì)仍出無(wú)效的模板定義的異常信息出來(lái))dataSource:定義當(dāng)前分組的數(shù)據(jù)源。$V{varibleName}變量模板元素該語(yǔ)法有兩層含義,用于不用的地方。(就是要注意順序問題,在引用一個(gè)變量的值時(shí),該變量必須已經(jīng)定義/存在。如下圖: 下面來(lái)詳細(xì)介紹每個(gè)區(qū)域的劃分規(guī)則和作用。且放在整個(gè)生成報(bào)表文件的結(jié)尾部分。該屬性有四個(gè)值可供選擇(head,body,foot,end),且必須遵循從上到下headbodyfootend。 band數(shù)據(jù)區(qū):( 2所示區(qū)域) 區(qū)域邊界定義:同一個(gè)band(根據(jù)band的name屬性來(lái)區(qū)分)的property=body到property=foot元素定義之間的區(qū)域?yàn)楫?dāng)前band的數(shù)據(jù)區(qū)。 區(qū)域輸出規(guī)則:每輸出一個(gè)band,在其band結(jié)尾部分都會(huì)輸出band數(shù)據(jù)區(qū)尾對(duì)應(yīng)區(qū)域的區(qū)域。注意該名稱必須同()配置的goup對(duì)應(yīng)名稱相同。根據(jù)該規(guī)則我們可以知道,在組的頭部可以嵌入band以及其他的模板定義元素。 組尾:( 3所示區(qū)域) 區(qū)域邊界定義:同一個(gè)組(根據(jù)組的name屬性來(lái)區(qū)分)的property=foot到property=end元素定義之間的區(qū)域?yàn)楫?dāng)前組的組尾。因此,當(dāng)我們?cè)?B{},$G{}行定義任何信息都不會(huì)出現(xiàn)在最終生成的報(bào)表文件當(dāng)中。因此在Excel Report中我們可以使用Excel所支持的豐富的格式化功能。第二 我們可以在數(shù)據(jù)源中對(duì)該字段插入一個(gè)字段監(jiān)聽器,這樣在報(bào)表工具讀取該字段值時(shí)可以自己去手動(dòng)將該值轉(zhuǎn)換成Date類型并返回轉(zhuǎn)換后的值,這樣報(bào)表工具就會(huì)用我們轉(zhuǎn)換過的值來(lái)生成報(bào)表。如上例,報(bào)表工具最終生成得單元格可能是:1.‘=SUM(B3*C3)’ 生成該語(yǔ)句是因?yàn)樽罱粋€(gè)$F{}和$F{}的值在B3和C3位置輸出了值。同理,對(duì)分組的意思也是一樣,當(dāng)我們?cè)诜纸M的結(jié)尾區(qū)使用$V{SUM($F{}}則表示對(duì)當(dāng)前分組中的字段field1的所有值進(jìn)行求和。該機(jī)制跟我們平常在Struts中嵌入我們自己的Action來(lái)處理頁(yè)面請(qǐng)求的原理是一致的。 參數(shù):params保存了客戶頁(yè)面請(qǐng)求提交過來(lái)的所有參數(shù),有些參數(shù)也可以在此處添加,并非一定要放在頁(yè)面請(qǐng)求中傳遞過來(lái)。(注意區(qū)分groupDs和ds,前者是在模板中使用的變量,后者是在java代碼中使用的對(duì)象,兩者使用的場(chǎng)合不同)。 c、在嵌入的java代碼中使用。假設(shè)::paraminit name=userid value=$F{}/ 在監(jiān)聽器代碼中可以寫如下代碼:Map param = ()。 / parameter name=userid type=/ /datasource 接下來(lái)在具體報(bào)表中配置數(shù)據(jù)類型實(shí)例:report name=orderReport templetfile= cachefile=false sheet name=orderreport index=0 reportstyle=list datasource name=ds source=helloworld_ds/ datasource name=dsTest source=helloworld_ds/ datasource name=dsOrder source=orderreport_ds paraminit name=userid value=$F{}/ /datasource /sheet /report 其中數(shù)據(jù)源實(shí)例dsOrder該配置了其參數(shù)userid的來(lái)源來(lái)自另外一個(gè)數(shù)據(jù)對(duì)象ds中的字段USERID。 在這個(gè)默認(rèn)的servlet中,它提供了下面一些參數(shù),供使用者來(lái)配置一些上下文相關(guān)的配置信息,如模板文件路徑,jndi名稱等等。2.DSImplDataBase 數(shù)據(jù)庫(kù)類型數(shù)據(jù)源實(shí)現(xiàn)類。介紹如何擴(kuò)充自己定制的數(shù)據(jù)源。Variable value=(Variable)(“userid”)獲取參數(shù)userid的值對(duì)象,該值可能是從頁(yè)面?zhèn)鬟^來(lái)的值,也可以是設(shè)定的固定初始值,或者是從另外一個(gè)數(shù)據(jù)源中查詢出來(lái)的值,在這里,我們不需要關(guān)心這個(gè)參數(shù)值是從哪里獲得的,()來(lái)獲取參數(shù)的值。配置查詢監(jiān)聽器 查詢監(jiān)聽器主要是給主從報(bào)表使用的,因?yàn)閺膱?bào)表中的數(shù)據(jù)必須根據(jù)主報(bào)表中的某個(gè)記錄的特定字段的值來(lái)動(dòng)態(tài)查詢得到,此時(shí)就必須使用查詢監(jiān)聽器,以便動(dòng)態(tài)獲取查詢參數(shù),來(lái)檢索從記錄對(duì)應(yīng)的數(shù)據(jù)。配置參數(shù)值 可以往params中添加或修改params中指定參數(shù)的值。 配置數(shù)據(jù)源中的數(shù)據(jù),如果配置的數(shù)據(jù)源是一個(gè)靜態(tài)類型的數(shù)據(jù)源,就需要在此時(shí)初始化該數(shù)據(jù)源中的數(shù)據(jù)。接下來(lái)會(huì)簡(jiǎn)單介紹一下,如何讓一個(gè)我們自己編寫的類嵌入到報(bào)表工具中去,并讓報(bào)表工具來(lái)調(diào)用我們的類對(duì)象。$V{variable}在Excel函數(shù)模板定義中使用$V{variable}是引用變量名尾variable的另外一個(gè)變量,variable是被引用變量的別名。2.‘=SUM(12*20)’ 生成該語(yǔ)句是因?yàn)閳?bào)表工具在模板文件中無(wú)法找到$F{}和$F{}的模板元素定義,這樣系統(tǒng)就會(huì)直接去ds數(shù)據(jù)源中取得field1和field2對(duì)應(yīng)的當(dāng)前值,并用該值來(lái)生成相應(yīng)的sum函數(shù)。在Excel Report中工具本身并不提供任何報(bào)表統(tǒng)計(jì)函數(shù)和腳本技術(shù),它只是利用Excel的豐富的函數(shù)庫(kù)來(lái)實(shí)現(xiàn)報(bào)表統(tǒng)計(jì)功能。 當(dāng)我們?cè)谥谱饕粋€(gè)報(bào)表過程當(dāng)中,需要控制一個(gè)模板變量($V{},$F{})的格式化輸出時(shí),我們首先需要設(shè)置該模板變量所在單元格的格式信息(通過Excel設(shè)置單元格格式來(lái)設(shè)定),設(shè)置好你想要的格式化輸出效果。 2.嵌套分組,和band的模板定義可以采用縮進(jìn)的風(fēng)格,以便增強(qiáng)整個(gè)報(bào)表模板文件的可讀
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1