java報表開發工具中如何實現多次匯入Excel?

如果有多張表樣相同的excel需要線上匯入到模板,並提交至資料庫中,那麼該如何實現先將所有excel匯入進來,然後再一次性提交呢?下面就通過java報表開發工具來簡單介紹一下。

工具/原料

java報表開發工具FineReport7.1.1

大小:148.2M 適用平臺:windows/linux

方法/步驟

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

java報表開發工具中如何實現多次匯入Excel

模板準備

以Excel匯入行式報表中的模板為例,開啟%FR_HOME%\WebReport\WEB-INF\reportlets\doc\SpecialSubject \ExcelImport\ExcelImport_1.cpt,修改其表樣,使其與excel中的標題名保持一致,如下圖:

java報表開發工具中如何實現多次匯入Excel

報表填報屬性修改

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

自定義匯入按鈕

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

java報表開發工具中如何實現多次匯入Excel

自定義事件編寫

在解決思路中描述了自定義按鈕需要執行的操作為:在點選按鈕的時候將上一次匯入到模板中的資料進行提交,同時重新整理頁面,讓頁面恢復到原始的空白狀態,並實現excel匯入操作。

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

java報表開發工具中如何實現多次匯入Excel

在JavaScript指令碼中寫下js語句,如下圖:

java報表開發工具中如何實現多次匯入Excel

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,以此類推,如下圖:

java報表開發工具中如何實現多次匯入Excel

相關問題答案