日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

不展现报表实现对报表的打印导出

發(fā)布時間:2025/5/22 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 不展现报表实现对报表的打印导出 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.



在客戶的應用中通常存在一種情況,報表展現(xiàn)由他們自己原有程序?qū)崿F(xiàn),使用潤乾只是用在報表的打印和導出上。或者說在某頁面上選擇查詢條件及報表名稱,選擇完成后直接點擊打印或?qū)С霭粹o實現(xiàn)對該表的打印或?qū)С霾僮?#xff0c;潤乾能滿足該需求,但要對頁面做下相關(guān)修改,實現(xiàn)方法如下:
潤乾內(nèi)置了幾個打印或?qū)С龅膉s函數(shù),如report1_print(),report1_saveAsExcel()等函數(shù),但是如果使用這幾個函數(shù),必須要在頁面上展現(xiàn)報表后才行,客戶要求不展示報表,這里可以自己定義js函數(shù)實現(xiàn)相關(guān)功能。
1、?在頁面上增加打印導出按鈕,如:
<a href=”#” onClick=”excel();return false;”>導出excel</a>
<a href=”#” onClick=”word();return false;”>導出word</a>
<a href=”#” onClick=”print();return false;”>打印</a>
這樣頁面上點擊相關(guān)操作實際上調(diào)用的是該js方法。
2、?參數(shù)傳遞
客戶系統(tǒng)中通常有一些參數(shù)對數(shù)據(jù)過濾,這樣打印或?qū)С鰰r也要把該參數(shù)傳到報表中計算,潤乾在打印導出時取參數(shù)值時主要是通過參數(shù)緩存ID得知,即reportParamsId
所以要將客戶的參數(shù)轉(zhuǎn)換成reportParamsId,代碼如下:
String raqName=”ppp.raq”;//報表名稱,到時候改成干部任免表
?? String reportParamsId = null;//定義reportParamsId
?? Hashtable hash = new Hashtable();
???????? hash.put( “arg1″, “1111111″ );//將參數(shù)和值放到hashtable中,arg1為報表中定義的參數(shù),保監(jiān)會中改成人員id那個參數(shù)名,111111為參數(shù)值,將userid放在這
??? if( hash.size() > 0 ) {
?????? //生成一個ID,并把這個ID與剛才準備的hash形成鍵值關(guān)系
?????? reportParamsId = com.runqian.report4.view.ParamsPool.createParamsId();//生成參數(shù)緩存id
?????? com.runqian.report4.view.ParamsPool.put( reportParamsId, hash );//將id放到緩存中
?????? }
?? System.out.println(“reportParamsId=”+reportParamsId);
這樣就生成了緩存ID,能將相關(guān)參數(shù)傳遞給報表服務(wù)器參與計算
3、?js函數(shù)編寫
前邊提到了,在頁面上點擊按鈕時實際上是調(diào)用了js函數(shù),所以要在頁面中實現(xiàn)該js函數(shù)。
<script language=javascript>
??function print() {
??document.report1_printIFrame.location = “http://127.0.0.1:6002/demo/reportServlet?action=2&name=report1&reportFileName=<%=raqName%>&srcType=file&savePrintSetup=yes&appletJarName=runqianReport4Applet.jar&serverPagedPrint=no&mirror=no&reportParamsId=<%=reportParamsId%>”;
??}
??function excel() {
??document.report1_saveAs_frame.location = “http://127.0.0.1:6002/demo/reportServlet?action=3&file=<%=raqName%>&columns=0&srcType=file&width=-1&height=-1&reportParamsId=<%=reportParamsId%>”
???}
?function word(){
??document.report1_saveAs_frame.location = “http://127.0.0.1:6002/demo/reportServlet?action=7&file=<%=raqName%>&columns=0&srcType=file&reportParamsId=<%=reportParamsId%>”;
??}
?</script>
最后,由于打印或?qū)С鰰r用到了report1_saveAs_frame和report1_printIFrame,為避免js錯誤,在頁面中增加:
<iframe name=”report1_saveAs_frame” id=”report1_saveAs_frame” src=”a.html” style=”display:none”></iframe>
<iframe name=”report1_printIFrame” id=”report1_printIFrame” src=”a.html” style=”position:absolute;left:-100px;top:-100px” width=50 height=50></iframe>
這樣就能實現(xiàn)報表不展現(xiàn),點相關(guān)按鈕后執(zhí)行打印或?qū)С霾僮鳌?/p>

轉(zhuǎn)載于:https://www.cnblogs.com/shiGuangShiYi/p/10117523.html

總結(jié)

以上是生活随笔為你收集整理的不展现报表实现对报表的打印导出的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。