當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

填報預覽多次匯入Excel

1. 概述

1.1 版本

報表服務器版本

JAR 包

功能變更
10.0--
10.0.122020-12-28
填報預覽與新填報預覽一樣,支持多次導入 Excel,且無空白模板(即填報模板中不能有數據)的限制

1.2 問題描述

在填報預覽或新填報預覽方式下,希望将多個表樣相同的 Excel 分批次導入填報頁面,然後一次性提交。

「自由格式」和「固定行式」的報表導入 Excel 時執行的是按位置匹配邏輯,多次導入的時候基本能滿足用戶要求。

而「不定行式」的報表,因爲行可以擴展,所以在連續多次導入 Excel 時,如果 Excel 數據行數大於等於頁面已有數據,則執行「全量導入」,會覆蓋掉模板原始數據;而如果 Excel 數據行數少於模板原始數據,會執行「插入導入」。

用戶希望在這兩種不同情況下,能選擇是插入導入或覆蓋導入。

1.3 解決思路

針對不定行式填報表,提供統一的多次導入 Excel 計算邏輯,如下所示:

1)覆蓋導入(不清空已有數據)

每次導入 Excel 時,無論 Excel 中的行數是多於還是少於填報頁面,均執行覆蓋導入。如果 Excel 數據少於填報頁面已有數據,則填報頁面多出來的數據在 Excel 導入後保留。

2)清空導入(清空已有數據)

每次導入時均清空填報頁面已有數據,無論頁面數據是多於還是少於Excel,最後只保留Excel中的内容。

注:清空導入只清空不定行區域受Excel影響的内容,其他内容不作清空。

如下圖所示,Excel 裏存的是是 A~E 列的明細内容,清空導入時,F3 格子内容不清空。 

image2018-3-21 16:20:42.png

3)增量導入:

每次導入 Excel 時,無論 Excel 中的行數是多於還是少於填報頁面,均執行增量導入,在結尾行擴充導入的 Excel 内容。

2. 示例一:内置按鈕實現

2.1 Excel數據準備

1)點擊下載 Excel 文件:Excel模板一.xlsx

1589785921227353.png

2)點擊下載 Excel 文件:Excel模板二.xlsx

1589785944120085.png

2.2 模板準備

如下圖設計表格,A2~J2 單元格添加文本控件。

222

注:若文本控件所在單元格中插入了數據列,需要将數據設置改爲列表,如下圖所示:

1589786217810735.png

2.3 添加多次導入按鈕

設計器菜單欄點擊「模板>模板 Web 屬性」,如下圖步驟将「多次導入 Excel」按鈕添加到工具欄中,如下圖所示:

1589786495135522.png

2.4 效果預覽

保存報表,點擊「填報預覽」或「新填報預覽」,Web 端工具欄「多次導入 Excel 」按鈕下拉顯示 4 種 Excel 導入方式。

Snag_6a6d2d.png

4 種導入方式的效果如下圖所示:

1589787689464235.gif

3. 示例二:JS事件實現

使用 JS 事件也可以實現覆蓋導入、清空導入和增量導入,方法如下:

3.1 覆蓋導入

1)沿用示例一的模板,選中 A6 單元格,如下圖步驟給單元格添加一個按鈕控件,按鈕名字爲覆蓋導入。

1589788759977242.png

2)如下圖步驟給該按鈕添加一個點擊事件,JS 代碼如下:

contentPane.importExcel_Cover();

1589788794922514.png

3.2 清空導入

1)在上面的基礎上,選中 C6 單元格,如下圖步驟給單元格添加一個按鈕控件,按鈕名字爲清空導入。

1589789255791450.png

2)如下圖步驟給該按鈕添加一個點擊事件,JS 代碼如下:

contentPane.importExcel_Clean();

1589789420419550.png

3.3 增量導入

1)在上面的基礎上,選中 E6 單元格,如下圖步驟給單元格添加一個按鈕控件,按鈕名字爲增量導入。

1589789553249271.png

2)如下圖步驟給該按鈕添加一個點擊事件,JS 代碼如下:

contentPane.importExcel_Append();

1589789712262957.png

3.4 效果預覽

保存報表,點擊「填報預覽」或「新填報預覽」,三種按鈕的導入效果如下圖所示:

1589790032593404.gif

4. 模板下載

已完成模板參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\ExcelImport\填報多次導入Excel.cpt

點擊下載模板:填報多次導入Excel.cpt

點擊下載 Excel 數據文件:Excel模板一.xlsx    Excel模板二.xlsx

5. 注意事項

FineReport 填報報表在線多次導入 Excel 支持各種樣式的填報報表,不僅僅局限於行式填報報表,但是如果是非行式填報報表,報表的控件位置需要與 Excel 中的數據位置保持一緻,行式填報報表則需要保持标題名一緻。

附件列表


主題: 原簡體文檔
  • 有幫助
  • 沒幫助
  • 只是瀏覽

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

8s後關閉

反饋已提交

網絡繁忙