![潤乾報表集成到Eclipse開發(fā)環(huán)境_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/60731f07-6270-479c-8b20-d8f38f70bbff/60731f07-6270-479c-8b20-d8f38f70bbff1.gif)
![潤乾報表集成到Eclipse開發(fā)環(huán)境_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/60731f07-6270-479c-8b20-d8f38f70bbff/60731f07-6270-479c-8b20-d8f38f70bbff2.gif)
![潤乾報表集成到Eclipse開發(fā)環(huán)境_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/60731f07-6270-479c-8b20-d8f38f70bbff/60731f07-6270-479c-8b20-d8f38f70bbff3.gif)
![潤乾報表集成到Eclipse開發(fā)環(huán)境_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/60731f07-6270-479c-8b20-d8f38f70bbff/60731f07-6270-479c-8b20-d8f38f70bbff4.gif)
![潤乾報表集成到Eclipse開發(fā)環(huán)境_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/60731f07-6270-479c-8b20-d8f38f70bbff/60731f07-6270-479c-8b20-d8f38f70bbff5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、目錄1將潤乾報表整合到Eclipse Web項目1拷貝潤乾報表所需文件1修改配置文件3添加數(shù)據(jù)源5多數(shù)據(jù)源配置62潤乾報表模板配置6新建數(shù)據(jù)源6新建報表8給報表添加過濾條件13分組報表18多數(shù)據(jù)源報表21子報表25引用子報表內(nèi)容31設置報表樣式323在JSP中引用報表341.1 拷貝潤乾報表所需文件打開潤乾報表程序根目錄下的webappsdemoWEB-INFlib, 將目錄下的所有jar包拷貝到Web項目的lib目錄下:打開潤乾報表程序根目錄下的webappsdemoWEB-INF, 將以下文件拷貝到Web項目的WEB-INF目錄下:打開潤乾報表程序根目錄下的webappsdemo, 將以下
2、文件拷貝到Web項目的WebContent目錄下:在WebContent目錄下新建reportFiles目錄用來存放報表文件:將潤乾報表Designer授權文件拷貝到Web項目的src目錄下:1.2 修改配置文件打開Web項目的文件, 在web-app節(jié)點內(nèi)添加如下內(nèi)容:<servlet><servlet-name>SetContextServlet</servlet-name><servlet-class></servlet-class><load-on-startup>2</load-on-startup>
3、</servlet><servlet><servlet-name>reportServlet</servlet-name><servlet-class></servlet-class><init-param><param-name>configFile</param-name><param-value></param-value></init-param><load-on-startup>1</load-on-startup>&
4、lt;/servlet><servlet><servlet-name>DMServlet</servlet-name><servlet-class></servlet-class><init-param><param-name>configFile</param-name><param-value></param-value></init-param><load-on-startup>10</load-on-startup></
5、servlet><servlet-mapping><servlet-name>reportServlet</servlet-name><url-pattern>/reportServlet</url-pattern></servlet-mapping><servlet-mapping><servlet-name>DMServlet</servlet-name><url-pattern>/DMServlet</url-pattern></servlet-
6、mapping><servlet-mapping><servlet-name>DMServlet</servlet-name><url-pattern>/DMServletAjax</url-pattern></servlet-mapping><jsp-config><taglib><taglib-uri>/WEB-INF/runqianReport4.tld</taglib-uri><taglib-location>/WEB-INF/runqianRepo
7、rt4.tld</taglib-location></taglib></jsp-config>打開Web項目的文件, 將license的值修改為剛才拷貝到src目錄下的授權文件的名稱:將reportFileHome的值修改為剛才新建的用來存放報表文件的目錄的名稱:JNDIPrefix屬性表示查找數(shù)據(jù)源時的環(huán)境串前綴,在不同的WEB服務器中不同, 如Tomcat中是java:/comp/env, 而Weblogic和Websphere中均不需要, 可以不填.dataSource表示用戶在WEB應用中要用到的數(shù)據(jù)源配置, 其格式如下:數(shù)據(jù)源的JNDI名稱,數(shù)據(jù)庫
8、類型,取數(shù)時是否需要轉換編碼,數(shù)據(jù)庫字符集編碼,顯示報表時的字符集編碼,SQL是否需要轉碼;重復數(shù)據(jù)庫類型按下表填寫:注: 上表中不存在的數(shù)據(jù)庫類型,參數(shù)值都寫為寫unknown.1.3 添加數(shù)據(jù)源以tomcat為例, 找到%TOMCAT_HOME%/confCatalinalocalhost項目名稱.xml文件, 沒有則新建一個, 內(nèi)容為:<Context path="/ReportWeb" reloadable="true" docBase="E:WORKSPACESReportWebWebContent" ><
9、Resource name="test" auth="Container" type="javax.sql.DataSource" maxActive="20" maxIdle="1" maxWait="10000" username="drool" password="drool" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql:/127.0
10、.0.1:3306/drool?characterEncoding=utf8" /></Context>紅色標記為需要配置的地方, 其他配置參數(shù), 按照自己項目的需求進行配置.其中name的值請與中的dataSource的數(shù)據(jù)源名稱保持一致.1.4 多數(shù)據(jù)源配置如果報表中需要使用多個不同數(shù)據(jù)源, 可以參照上一步在web容器中添加一個數(shù)據(jù)源:<Resource name="mysql" auth="Container" type="javax.sql.DataSource" maxActive=&quo
11、t;20" maxIdle="1" maxWait="10000" username="drool" password="drool" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql:/127.0.0.1:3306/drool?characterEncoding=utf8" />然后在的dataSource中追加一條配置:多條數(shù)據(jù)源之間以半角分號隔開.至此Web項目已經(jīng)完成了與潤乾報表的整合.2
12、潤乾報表模板配置2.1 新建數(shù)據(jù)源打開潤乾報表設計器, 點擊菜單配置-數(shù)據(jù)源點擊新建關系數(shù)據(jù)庫填寫數(shù)據(jù)庫信息點擊連接按鈕連接數(shù)據(jù)源2.2 新建報表點擊菜單文件新建報表填報類型選擇普通報表, 數(shù)據(jù)源填寫上一步定義的數(shù)據(jù)源名稱, 數(shù)據(jù)集類型選擇SQL檢索:選中需要的表選中需要的列:檢索條件暫時不填, 選取排序字段可以在語法內(nèi)看到生成的語句如下點擊確定, 報表類型向導頁面可以調整字段顯示順序報表定義頁面可以隱藏不需要顯示的字段點擊生成網(wǎng)格報表后生成的報表樣式如下2.3 給報表添加過濾條件例如上例中報表需要一個過濾條件where contry like %中國%, 首先右鍵點擊生成的報表的第00單元格
13、, 選擇參數(shù)選項:新增一個參數(shù)contry, 數(shù)據(jù)類型為字符串可以給定一個預設值為中國:右鍵點擊00格, 選擇數(shù)據(jù)集:點擊編輯, 可以看到之前定義的數(shù)據(jù)集選擇檢索條件, 選擇需要添加的字段, 在右邊的窗口中填寫表達式, 參數(shù)使用占位符?代替, 語法與HQL相同:選擇參數(shù), 點擊增加按鈕添加一個參數(shù), 雙擊參數(shù)表達式欄會彈出表達式編輯窗口數(shù)據(jù)欄會列出當前報表已定義的參數(shù), 雙擊可添加到報表表達式欄.點擊瀏覽數(shù)據(jù)可預覽當前數(shù)據(jù)集查詢結果:此處數(shù)值會自動填寫定義參數(shù)時所填寫的預設值. 點擊確定預覽數(shù)據(jù):點擊文件預覽可預覽報表效果:2.4 分組報表例如上例中報表需要按照國家省份城市進行分組, 首先調整
14、一下字段順序, 然后將報表數(shù)據(jù)區(qū)內(nèi)需要分組的字段改為 =數(shù)據(jù)集.group(字段) 格式:函數(shù)說明:根據(jù)分組表達式,從數(shù)據(jù)集中選出一組組集。語法: datasetName.group( <selectExp>, ,<filterExp> ) /適用于不需要排序或數(shù)據(jù)集中已排好序 datasetName.group(selectExp,descExp,filterExp,sortExp,groupSortExp,groupDescExp,rootGroupExp)參數(shù)說明: selectExp 選出的分組表達式,可以是字段列名/列號,也可以是表達式。列號用#n表示,例如#
15、0代表第0列,#1代表第1列,依此類推 descExp 分組前記錄的排序順序,true為逆序,false為順序 filterExp 過濾表達式 sortExp 分組前記錄的排序依據(jù)表達式 groupSortExp 分組后對組的排序表達式,一般是匯總運算的表達式,如組合計等 groupDescExp 組排序順序,true為逆序,false為順序 rootGroupExp 是否root數(shù)據(jù)集表達式返回值:一組數(shù)據(jù)的集合,數(shù)據(jù)類型由selectExp的運算結果來決定示例:例1:ds1.group(class) 把數(shù)據(jù)集ds1中所有記錄按照class字段進行分組,并返回每組的class值組成的集合例2
16、:ds1.group(class, true ) 把數(shù)據(jù)集ds1中所有記錄按照class字段降序排列,然后根據(jù)class進行分組,并返回每組的class值組成的集合例3:ds1.group(class,false,sex='1') 從數(shù)據(jù)源ds1中選取性別為"1"的記錄,按照class字段升序排列,然后根據(jù)class進行分組,并返回每組的class值組成的集合例4:ds1.group(class, true, sex='1', id ) 從數(shù)據(jù)源ds1中選取性別為"1"的記錄,按照id字段降序排列,然后根據(jù)class進行分
17、組,并返回每組的class值組成的集合例5:ds1.group(省份,true,ds1.sum(工業(yè)產(chǎn)值),true) 對數(shù)據(jù)集ds1按照省份進行分組,分組后求出每組的sum(工業(yè)產(chǎn)值),然后按照這個匯總值對組進行逆序排列預覽數(shù)據(jù)如下會發(fā)現(xiàn)少了一條數(shù)據(jù)并且沒有正確分組. 這是由于沒有對分組字段進行排序, 并且未分組字段只選取了符合條件的第一條數(shù)據(jù). 給每個分組字段加上排序選項, 并為沒有進行分組的text字段加上select函數(shù):預覽結果如下select()函數(shù)說明:從數(shù)據(jù)集的當前行集中選取符合條件的記錄語法: datasetName.select( <select_exp>, d
18、esc_exp, filter_exp, sort_exp,rootGroupExp ) datasetName.select(<select_exp>, , <filter_exp> )/適用于不需排序或數(shù)據(jù)集中已排好序參數(shù)說明: select_exp:要選擇的字段列名/列號,也可以是表達式。列號用#n表示,例如#0代表第0列,#1代表第1列,依此類推 desc_exp: 指定數(shù)據(jù)排序的順序,true表示降序排列,false表示升序排列。 filter_exp: 數(shù)據(jù)過濾表達式,如果全部選出,則此參數(shù)省略,僅用“,”占位。 sort_exp: 數(shù)據(jù)排序表達式。當此項為
19、空時先檢查desc_exp是否為空,如果為空,則不排序,否則使用select_exp排序。 rootGroupExp 是否root數(shù)據(jù)集表達式返回值:一組數(shù)據(jù)的集合,數(shù)據(jù)類型由select_exp的運算結果決定函數(shù)示例:例1:ds1.select( name ) 從數(shù)據(jù)源ds1中選取name字段列的所有值,不排序例2:ds1.select( #2, true ) 從數(shù)據(jù)源ds1中選取第二個字段列的所有值并降序排列例3:ds1.select( name,false,sex='1') 從數(shù)據(jù)源ds1中選取性別為男性('1')的name字段列的值并升序排列例4:ds1
20、.select( name, true, sex='1', id ) 從數(shù)據(jù)源ds1中選取性別為男性的name字段列的值并按id字段降序排列如果需要分組的字段不是相鄰的字段, 例如預覽結果選擇報表E2單元格, 在右邊屬性窗口將擴展-左主格屬性設置為A2:同樣方式將B2單元格的左主格設置為E2, 預覽結果:2.5 交叉報表2.6 多數(shù)據(jù)源報表假設在另一張表report_c中保存了本例數(shù)據(jù)的備注信息, 現(xiàn)在要在本例報表的remark一列顯示出來.右鍵點擊報表模板的00單元格, 選擇數(shù)據(jù)集選項:點擊增加按鈕, 選擇類型為復雜SQL:直接定義查詢語句:確定后選擇需要的數(shù)據(jù)源:點擊瀏覽數(shù)
21、據(jù),結果如下:將報表數(shù)據(jù)區(qū)D2的值改為=ds1.id:在右側屬性欄將D2的值顯示值表達式改為ds2.select(remark,pid=value()預覽數(shù)據(jù)如下:會發(fā)現(xiàn)除了應有的兩條數(shù)據(jù)之外, 其余應該為空的單元格也被填入了本列的ID值. 修改一下D2的值顯示值表達式, 改為nvl(ds2.select(remark,pid=value(),""), 預覽結果如下:nvl()函數(shù)說明:根據(jù)第一個表達式的值是否為空,若為空則返回指定值語法: nvl( valueExp1, valueExp2 )參數(shù)說明: valueExp1 需要計算的表達式,其結果不為空時返回其值 val
22、ueExp2 需要計算的表達式,當valueExp1結果為空時返回此值返回值: valueExp1或valueExp2的結果值示例:例1:nvl(A1,"") 表示當A1為空時,返回空串,否則返回A1 例2:nvl(value(),0) 表示當當前格為空時返回0,否則返回當前格的值2.7 子報表假設在另一張表report_sub中保存了本例數(shù)據(jù)的備注信息, 現(xiàn)在要在本例報表顯示出來.按照新建數(shù)據(jù)源的步驟新建一個子報表, SQL語句如下:報表定義如下:其中數(shù)據(jù)區(qū)B1,B2擴展方式為橫向擴展, 在右側屬性窗口中設置:count()函數(shù)說明:計算數(shù)據(jù)集當前記錄行集中,滿足條件的記
23、錄數(shù)語法: datasetName.count(filterExp,rootGroupExp,nullCheckExp)參數(shù)說明: filterExp 條件表達式,如果全部選出,則不要此參數(shù), rootGroupExp 是否root數(shù)據(jù)集表達式 nullCheckExp 檢查某一條記錄是否為空的標達式返回值:整數(shù)舉例:例1:ds1.count() 表示對ds1中當前記錄行集中所有記錄進行計數(shù),返回記錄數(shù)。例2:ds1.count(true) 含義同上,但是運算速度比ds1.count()慢,因此當記錄全部選出時,建議不要true例3:ds1.count(quantity>500) 表示從
24、ds1當前記錄行集中選出quantity>500的記錄進行計數(shù),返回記錄數(shù)。例4:ds1.count(,ID) 表示當前記錄行集中ID不為空的紀錄數(shù)目預覽結果如下:將子報表保存在與主報表同一目錄下.在主報表的任意一列上點擊右鍵, 選擇追加數(shù)據(jù)列:在數(shù)據(jù)區(qū)F2點擊右鍵, 選擇子報表:點擊定義子報表添加, 路徑選擇相對路徑, URL填寫子報表的文件名, 雙擊可瀏覽選擇:注:此處相對路徑是相對于web應用的根路徑, 因此當在jsp頁面引用報表時, 需要填寫的是 reportFiles/report_sub.raq (reportFiles為拷貝潤乾報表所需文件中所定義的存放報表文件的文件夾名稱
25、).本例中測試所填寫的是絕對路徑.引用方式選擇嵌入式, 點擊增加按鈕增加一個參數(shù)pid, 對應表達式直接填寫主D2:D2表示直接引用主報表D2數(shù)據(jù)區(qū)的值作為參數(shù), 如果需要傳入?yún)?shù), 也可以通過雙擊方式打開表達式編輯窗口:由于新追加字段左邊為排序字段, 所以將追加數(shù)據(jù)區(qū)F2的左主格設置為非排序字段的D2:預覽結果如下:2.8 引用子報表內(nèi)容例如我們想在主報表中追加一列統(tǒng)計子報表中的總條數(shù), 先在子報表追加一列:sum()函數(shù)說明:對可擴展單元格或集合表達式進行求和語法: sum(expression) sum(cellExp,exp)參數(shù)說明: expression 需要被求和的單元格或表達式
26、,一般為可擴展單元格或集合表達式 cellExp 單元格或單元格集合,以cellExp里的單元格為當前格計算表達式exp exp 表達式返回值:實數(shù)或者字符型,由被匯總的單元格數(shù)據(jù)類型決定示例:例1:sum(A1:A10) 求出單元格A1至A10的合計值,被統(tǒng)計單元格可以是數(shù)值型也可以是字符型例2:sum(arg1) 其中arg1是參數(shù)組,求出arg1中所有元素的合計值例3:sum(B1) 表示求得當前主格擴展區(qū)域內(nèi)所有擴展后的B1單元格的合計值例4:sum(B10) 表示求得根坐標下所有擴展后的B1單元格的合計值例5:sum(A10,B1+C1) 計算分別與每個A1相對應的B1、C1的和的合
27、計值選中B3單元格,展開右邊屬性列表中的“擴展”,把B3的上主格設為0,這樣可以使B3單元格匯總的是B1擴展出來的所有年份的合計。選中第四行,將第四行的可視屬性的打勾去掉,即這樣預覽時就不會顯示第三行了。將第三行設為不可見,而不是刪除,因為主報表將引用B3單元格的值。在主報表中插入一列:E2單元格表達式的含義是:G2為嵌入式子報表,取得G2中的子報表中B3的值,這樣就相當于主報表引用子報表的數(shù)據(jù)值并匯總。eval()函數(shù)說明:動態(tài)解析并計算表達式語法: eval( StringExp ) eval( StringExp, SubRptExp ) eval( StringExp, DataSet
28、Exp )參數(shù)說明: StringExp 待計算的表達式串 SubRptExp 嵌入式子報表對象,一般是含有子報表的單元格 DataSetExp 數(shù)據(jù)集對象,一般是ds函數(shù)返回值:表達式的結果值,數(shù)據(jù)類型由表達式?jīng)Q定示例:例1:eval( "1+5" ) 返回6例2:eval("B2+10", A1) 其中A1為嵌入式子報表,表示計算A1子報表中的B2+10例3:eval("salary+100", ds("ds1") 表示計算數(shù)據(jù)集ds1中salary加100預覽效果如下:2.9 設置報表樣式報表樣式基本設置方式與excel相同, 可自行設置顯示樣式.報表標題及報表尾設置方法如下:在報表最上方插入一行, 在右邊屬性窗口設置行類型為頭標題:在報表最下方插入一行, 在右邊屬性窗口設置行類型為報表尾:效果如下:預覽效果:no
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑工程項目前期策劃與管理
- 2025年湘師大新版七年級歷史上冊階段測試試卷
- 2025年造紙助劑項目規(guī)劃申請報告模式
- 2025年新科版七年級生物上冊月考試卷含答案
- 2025年美甲工具項目申請報告模板
- 2025年粵教版七年級生物上冊月考試卷含答案
- 2025國家事業(yè)單位電網(wǎng)招聘電力基礎考試題庫(附含參考答案)
- 2025年外研銜接版必修1歷史上冊月考試卷含答案
- 2025賓館服務員用工合同范本
- 建筑工程中的工程量清單與初步預算
- 變電站現(xiàn)場運行通用規(guī)程考試試題及答案
- 湖南高速鐵路職業(yè)技術學院單招職業(yè)技能測試參考試題庫(含答案)
- 中醫(yī)護理查房制度
- 家庭園藝資材蘊藏商機
- 母嬰護理員題庫
- 老年人預防及控制養(yǎng)老機構院內(nèi)感染院內(nèi)感染基本知識
- SWITCH暗黑破壞神3超級金手指修改 版本號:2.7.6.90885
- 2023高考語文全國甲卷詩歌閱讀題晁補之《臨江仙 身外閑愁空滿眼》講評課件
- 數(shù)字營銷廣告技術行業(yè)rta巨量引擎實時接口
- 寧騷公共政策學完整版筆記
- 2023年湖南高速鐵路職業(yè)技術學院高職單招(數(shù)學)試題庫含答案解析
評論
0/150
提交評論