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

正文內(nèi)容

excelreport使用手冊(cè)-資料下載頁(yè)

2025-06-25 06:39本頁(yè)面
  

【正文】 對(duì)當(dāng)前分組中的字段field1的所有值進(jìn)行求和。2. 數(shù)據(jù)源實(shí)際值的引用$P{param}在Excel函數(shù)模板定義中使用$P{param}是引用參數(shù)param的值,該值在生成報(bào)表時(shí)最終會(huì)用param的參數(shù)實(shí)際值所代替。$V{variable}在Excel函數(shù)模板定義中使用$V{variable}是引用變量名尾variable的另外一個(gè)變量,variable是被引用變量的別名。該值生成報(bào)表數(shù)據(jù)時(shí)最終會(huì)被variable對(duì)應(yīng)的單元格坐標(biāo)所代替。 示例:1. 配置一個(gè)卡片式報(bào)表的模板文件2. 配置一個(gè)列表式報(bào)表的模板文件3. 配置一個(gè)主從列表式報(bào)表的模板文件4. 配置一個(gè)分組報(bào)表的模板文件:testGroup5. 配置一個(gè)主從帶分組功能的模板文件 常見(jiàn)問(wèn)題:1. 字段模板大小寫(xiě)問(wèn)題,當(dāng)你發(fā)現(xiàn)報(bào)表上就是無(wú)法輸出數(shù)據(jù)時(shí),首先需檢查你的模板定義的字段名稱(chēng)是否有大小寫(xiě)問(wèn)題,很多數(shù)據(jù)庫(kù)中檢索出來(lái)的字段名稱(chēng)默認(rèn)就是大寫(xiě)的,報(bào)表工具在匹配字段值時(shí)是大小寫(xiě)敏感的。因此有可能無(wú)法找到字段值的情況五 設(shè)計(jì)報(bào)表嵌入對(duì)象 為什么需要設(shè)計(jì)報(bào)表嵌入對(duì)象? 當(dāng)然對(duì)于大多數(shù)簡(jiǎn)單的報(bào)表,你的確可以不用使用報(bào)表嵌入對(duì)象來(lái)設(shè)計(jì)你的報(bào)表,比如所有報(bào)表用到的數(shù)據(jù)源中的數(shù)據(jù)都可以通過(guò)在數(shù)據(jù)源中配置一條sql語(yǔ)句來(lái)實(shí)現(xiàn),的確在這種情況下你完全可以充分體驗(yàn)Excel Report給你制作報(bào)表帶來(lái)的便利性(相對(duì)于你自己去數(shù)據(jù)庫(kù)檢索數(shù)據(jù),并把數(shù)據(jù)一個(gè)個(gè)放到Excel文件里并需要控制麻煩的輸出格式而言)。但并不是所有的數(shù)據(jù)都可以由一條sql語(yǔ)句來(lái)構(gòu)建,比如一些復(fù)雜的數(shù)據(jù)源,其數(shù)據(jù)你可能無(wú)法通過(guò)單句的sql就能檢索出來(lái),或是不想在程序里面違反唯一性規(guī)則,你想重用原來(lái)的業(yè)務(wù)類(lèi),在這樣一些情況下你通常就需要自己手動(dòng)來(lái)構(gòu)建你的數(shù)據(jù)源,那現(xiàn)在的問(wèn)題是在這種情況下我們以一種怎樣方便的可配置的方式來(lái)插入我們的數(shù)據(jù)源構(gòu)建代碼?Excel Report在處理這個(gè)問(wèn)題是通過(guò)一種嵌入對(duì)象的方式,讓用戶可以編寫(xiě)自己的數(shù)據(jù)處理對(duì)象,并把該對(duì)象以一種可配置的方式嵌入到報(bào)表工具中。這樣讓用戶可以在請(qǐng)求某個(gè)報(bào)表輸出輸入之前有機(jī)會(huì)來(lái)執(zhí)行用戶自己定義的代碼。該機(jī)制跟我們平常在Struts中嵌入我們自己的Action來(lái)處理頁(yè)面請(qǐng)求的原理是一致的。 相信到這里你已經(jīng)大概了解了為什么在Excel report中需要嵌入對(duì)象的原因了,盡管在嵌入對(duì)象里面我們可以做的事情還遠(yuǎn)不止這些。接下來(lái)會(huì)簡(jiǎn)單介紹一下,如何讓一個(gè)我們自己編寫(xiě)的類(lèi)嵌入到報(bào)表工具中去,并讓報(bào)表工具來(lái)調(diào)用我們的類(lèi)對(duì)象。 編寫(xiě)自己的嵌入對(duì)象需要做以下兩方面的工作:1.編寫(xiě)一個(gè)類(lèi),然后實(shí)現(xiàn)該類(lèi)的execute函數(shù),通過(guò)該函數(shù)來(lái)編寫(xiě)你的數(shù)據(jù)源處理代碼。2.將你寫(xiě)好的類(lèi)嵌入到報(bào)表工具中,通過(guò)在配置文件中配置EmbeddedObject節(jié)點(diǎn)() 我們可以在嵌入對(duì)象里面做些什么? ,該接口中有一個(gè)函數(shù)必須實(shí)現(xiàn):public boolean execute( ReportConfig reportConfig, //報(bào)表配置參數(shù)對(duì)象 Map dataSources, //報(bào)表數(shù)據(jù)源 Map params //傳入?yún)?shù)。 )throws Exception{}參數(shù):dataSources保存了所有已經(jīng)實(shí)例化的數(shù)據(jù)源對(duì)象,但需要注意此時(shí)的數(shù)據(jù)源大部分還只進(jìn)行初始化工作,并未檢索數(shù)據(jù);一個(gè)數(shù)據(jù)源只有當(dāng)其真正使用數(shù)據(jù)時(shí)才會(huì)去檢索數(shù)據(jù)。此時(shí)拿到dataSources可以調(diào)用:DataSource ds = (DataSource)(groupDs)。來(lái)獲取你想要的數(shù)據(jù)源對(duì)象,groupDs是配置文件中具體報(bào)表配置的數(shù)據(jù)源對(duì)象。 參數(shù):params保存了客戶頁(yè)面請(qǐng)求提交過(guò)來(lái)的所有參數(shù),有些參數(shù)也可以在此處添加,并非一定要放在頁(yè)面請(qǐng)求中傳遞過(guò)來(lái)。 參數(shù):reportConfig暫時(shí)未使用,其主要包含的是當(dāng)前報(bào)表的相關(guān)配置信息。 配置數(shù)據(jù)源中的數(shù)據(jù),如果配置的數(shù)據(jù)源是一個(gè)靜態(tài)類(lèi)型的數(shù)據(jù)源,就需要在此時(shí)初始化該數(shù)據(jù)源中的數(shù)據(jù)??梢哉{(diào)用 ,()。來(lái)將所有字段加入數(shù)據(jù)源。并將記錄滾動(dòng)到下一行。還有一種跟快捷的方法往數(shù)據(jù)源中添加數(shù)據(jù),但必須要求首先list包含的是map對(duì)象,其次每個(gè)Map對(duì)象中必須以字段,字段值的形式保存。比如list1可以包含一條記錄(Map),其中Map中保存的值為Key=id Value=200601;Key=name Value=AJUN,這樣在模板中就可以引用$F{ }和$F{ }了。(注意區(qū)分groupDs和ds,前者是在模板中使用的變量,后者是在java代碼中使用的對(duì)象,兩者使用的場(chǎng)合不同)。其他有關(guān)DataSource相關(guān)的接口可參考javadoc生成的文檔。配置參數(shù)值 可以往params中添加或修改params中指定參數(shù)的值。注意params中的值可以在三個(gè)地方使用:a、。引用形式:$P{paramName}。但必須注意初始化配置文件相關(guān)數(shù)據(jù)是在調(diào)用嵌入對(duì)象的execute函數(shù)前使用,因此在配置文件中引用的參數(shù)必須是頁(yè)面中傳入的參數(shù),而不是在嵌入代碼中設(shè)置的參數(shù)。 b、在模板文件中使用。引用形式:$P{paramName}。 c、在嵌入的java代碼中使用。(“paramName”)。配置查詢監(jiān)聽(tīng)器 查詢監(jiān)聽(tīng)器主要是給主從報(bào)表使用的,因?yàn)閺膱?bào)表中的數(shù)據(jù)必須根據(jù)主報(bào)表中的某個(gè)記錄的特定字段的值來(lái)動(dòng)態(tài)查詢得到,此時(shí)就必須使用查詢監(jiān)聽(tīng)器,以便動(dòng)態(tài)獲取查詢參數(shù),來(lái)檢索從記錄對(duì)應(yīng)的數(shù)據(jù)。查詢監(jiān)聽(tīng)器的設(shè)置主要分三個(gè)相關(guān)方面:a、 設(shè)置監(jiān)聽(tīng)器:調(diào)用ds. setQueryDataListener()。參數(shù)為實(shí)現(xiàn)了IQueryDataListener接口的任何對(duì)象。b、 編寫(xiě)監(jiān)聽(tīng)器相關(guān)代碼:BaseDataSource baseDataSource = (BaseDataSource)dataSource。獲取當(dāng)前監(jiān)聽(tīng)器監(jiān)聽(tīng)的數(shù)據(jù)源對(duì)象實(shí)例。注意BaseDataSource實(shí)現(xiàn)了DataSource接口,因此接口中的所有函數(shù)在BaseDataSource中仍然可以使用。假設(shè)::paraminit name=userid value=$F{}/ 在監(jiān)聽(tīng)器代碼中可以寫(xiě)如下代碼:Map param = ()。獲取當(dāng)前數(shù)據(jù)源的參數(shù)對(duì)象param。Variable value=(Variable)(“userid”)獲取參數(shù)userid的值對(duì)象,該值可能是從頁(yè)面?zhèn)鬟^(guò)來(lái)的值,也可以是設(shè)定的固定初始值,或者是從另外一個(gè)數(shù)據(jù)源中查詢出來(lái)的值,在這里,我們不需要關(guān)心這個(gè)參數(shù)值是從哪里獲得的,()來(lái)獲取參數(shù)的值。當(dāng)然也可以根據(jù)具體參數(shù)類(lèi)型來(lái)獲取該參數(shù)變量的值,不一定都要轉(zhuǎn)成字符串型,相關(guān)細(xì)節(jié)參考Variable類(lèi)函數(shù)說(shuō)明。獲得參數(shù)的值后可以查詢相關(guān)數(shù)據(jù),然后將獲得的數(shù)據(jù)放入數(shù)據(jù)源對(duì)象中( 1所示)。c、 如何配置相關(guān)參數(shù):,即 paraminit name=userid value=$F{}/ 完整的配置如下:首先配置數(shù)據(jù)源類(lèi)型:下面的例子是自動(dòng)查詢類(lèi)型的數(shù)據(jù)源,如果是靜態(tài)數(shù)據(jù)源其配置方法類(lèi)似。 datasource name=orderreport_ds type=database sql value=select * from orders where CUSTOMERID=39。userid39。 / parameter name=userid type=/ /datasource 接下來(lái)在具體報(bào)表中配置數(shù)據(jù)類(lèi)型實(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è)嵌入對(duì)象實(shí)例:六 使用Excel Report的高級(jí)特性: 擴(kuò)充你自己的數(shù)據(jù)源。介紹如何擴(kuò)充自己定制的數(shù)據(jù)源。關(guān)于有連接池的數(shù)據(jù)源使用建議。 使用變量別名。 設(shè)計(jì)模板是使用$V{}調(diào)用excel函數(shù)時(shí)的注意事項(xiàng)。 在web容器中配置Excel Report(ExcelReportServlet) 你可以直接在你的web應(yīng)用中配置ExcelReport請(qǐng)求處理的Servlet,因?yàn)樵贓xcelReport中系統(tǒng)已經(jīng)實(shí)現(xiàn)了一個(gè)默認(rèn)的Excel報(bào)表請(qǐng)求處理Servlet,通過(guò)配置該servlet你就可以直接把ExcelReport整合到你的項(xiàng)目中去。而無(wú)需自己再去編寫(xiě)處理報(bào)表請(qǐng)求的后臺(tái)邏輯。 在這個(gè)默認(rèn)的servlet中,它提供了下面一些參數(shù),供使用者來(lái)配置一些上下文相關(guān)的配置信息,如模板文件路徑,jndi名稱(chēng)等等。Servelt(ExcelReportServlet)配置選項(xiàng):1.TempletFilePath 配置模板文件和配置文件目錄:相對(duì)于webroot目錄的邏輯目錄名。2.DSImplDataBase 數(shù)據(jù)庫(kù)類(lèi)型數(shù)據(jù)源實(shí)現(xiàn)類(lèi)。(可選)3.DSImplStatic 靜態(tài)類(lèi)型數(shù)據(jù)源實(shí)現(xiàn)類(lèi)。(可選)4.JNDI 配置默認(rèn)數(shù)據(jù)連結(jié)的jndi (如果沒(méi)配2則必須配置此選項(xiàng),反之不需配置) 在非web容器環(huán)境下使用excel report.七 一個(gè)完整的報(bào)表示例: 配置模板文件 設(shè)計(jì)嵌入對(duì)象結(jié)束語(yǔ)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1