wuxiren123

          報表工具如何實現多次導入Excel

          很多人在開發報表的時候會遇到將多張表樣相同的excel導入到模板,然后提交至數據庫中。但問題是很多情況,在線導入不支持一次性選擇多個excel,一次只能選擇一個excel,也不能將多個excel中的數據在不提交入庫的前提下導入到模板中,即如果在導入excel之前,web頁面里面有數據,導入excel之后會覆蓋之前的數據。

          那這樣的問題是不是無法解決呢?

          解決的思路是利用FineReport自定義一個excel導入按鈕,在點擊該按鈕的時候將上一次導入到模板中的數據進行提交,同時刷新頁面,讓頁面恢復到原始的空白狀態,并實現excel導入操作,然后再點擊導入按鈕,導入下一個excel,以此類推,這樣在操作上就會簡單很多。

           

          比如將下面2張表樣相同的excel導入到FineReport模板中:



           

          1.修改其表樣,使其與excel中的標題名保持一致,如下圖:



           

          2.報表填報屬性修改

          修改報表填報屬性中列和數據庫中列的對應,這里只需要修改類別ID對應的值,修改為map(C2, "ds2", 2, 1)

          3.自定義導入按鈕

           

          點擊模板>模板web屬性>填報頁面設置,雙擊工具欄中的自定義按鈕,將該按鈕添加到頂部工具欄中,同時刪除內置的導入Excel按鈕和提交按鈕,如下圖:



           
          4.自定義事件編寫

          在解決思路中描述了自定義按鈕需要執行的操作為:在點擊按鈕的時候將上一次導入到模板中的數據進行提交,同時刷新頁面,讓頁面恢復到原始的空白狀態,并實現excel導入操作。

          在工具欄編輯界面,選中自定義按鈕,點擊自定義事件,如下圖:



           
          JavaScript腳本中寫下js語句,如下圖:



           

          var value=contentPane.getCellValue(0,1,2);  
          if (value!="") {    
              FR.Msg.confirm("提示", "是否提交上一次導入數據", function(result){  
                      if(result){  
                      _g('${sessionID}').writeReport();  
                      contentPane.refreshAllSheets();  
                      contentPane.importExcel();  
                  }  
                  });  
          }   
          else{  
              contentPane.importExcel();  
              }  

           點擊填報預覽,點擊導入Excel這個自定義按鈕,選擇第一個需要導入的Excel,然后再點擊第二個需要導入的Excel,頁面會提示是否提交上一次導入數據,點擊確定,則會將上一次導入數據提交至數據庫,然后再彈出文件選擇框,這時就可以選擇第二個Excel,以此類推。

           

          要提醒的是,在利用此工具填報報表在線多次導入Excel時只支持空白模板的導入,即填報模板中不能有原始數據存在;在線多次導入Excel支持各種樣式的填報報表,不僅僅局限于行式填報報表,但是如果是非行式填報報表,報表的控件位置需要與Excel中的數據位置保持一致,行式填報報表則需要保持標題名一致。

          posted on 2016-05-27 13:25 喝水居然長肉 閱讀(119) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 东兰县| 聂荣县| 三江| 丹阳市| 京山县| 土默特右旗| 乾安县| 和平县| 石阡县| 沙河市| 邢台市| 依兰县| 延庆县| 运城市| 甘肃省| 会东县| 吴旗县| 湘阴县| 汨罗市| 石楼县| 玛纳斯县| 渭南市| 栾川县| 陈巴尔虎旗| 双牌县| 化德县| 白玉县| 枞阳县| 拜城县| 惠安县| 四川省| 绍兴县| 晴隆县| 台湾省| 朝阳县| 崇义县| 南阳市| 梁山县| 资源县| 宁远县| 临澧县|