反饋已提交
網絡繁忙
FineReport 支援將 Excel 中的資料copy到填報頁面中,再進行提交。
注:不支援行動端。
填報預覽時,先增加相應數量的空白記錄,再將 Excel 中的資料copy到這些空白記錄中。
1)如下圖所示設計填報報表。
2)選擇填報預覽開啟報表,點選工具欄上的增加記錄按鈕,Excel 中需要複製多少行,瀏覽器上就要增加多少條空白記錄。
3)選中並複製(Ctrl+C)Excel 中的資料。
4)回到填報預覽頁面,貼上資料。
按資料左上角儲存格,出現如下圖所示的黑框時貼上(Ctrl+V)。
5)點選提交即可。
點選下載已完成範本:Excel資料複製貼上到填報儲存格.cpt
點選下載 Excel 檔案:地區銷售額填報.xlsx
問題描述:
Excel 中的空值目前無法貼上到填報頁面,也就是空值會自動忽略跨越。
解決方法:
可在設計器菜單欄「範本>範本Web屬性>填報頁面設定」中新增載入結束事件(引入js檔案或貼上程式碼都行),此時範本web屬性裏選擇為此範本單獨設定。或在「伺服器>伺服器配置>填報頁面設定」中新增載入結束事件(引入js檔案或貼上程式碼都行),此時範本web屬性裏要選擇採用伺服器設定。
JS程式碼如下:
FR.WritePane.prototype.dealWithPasteContent = function(value) { //移除尾部的換行符 if (value.endWith('\n')) { value = value.substring(0, value.length - 1); } return this._parsePasteContentToArray(value);}FR.WritePane.prototype.cellPasteCheck = function(cell, cev, editorO) { return cev !== null && !editorO.disabled && editorO.editable !== false && editorO.directEdit !== false;}
複製的資料中存在空白欄,複製的空白欄無法貼上進入範本,如下圖所示:
解決方案:
如果需要複製貼上 Excel 中的空白行或空白列,需要在載入結束事件中新增的JS,JAR版本要求在2019-12-05以上
FR.WritePane.prototype.dealWithPasteContent = function(value) {if (value.endWith('/n')) {value = value.substring(0, value.length);}return this._parsePasteContentToArray(value);}FR.WritePane.prototype.cellPasteCheck = function(cell, cev, editorO) {return cev !== null && !editorO.disabled && editorO.editable !== false && editorO.directEdit !== false;}FR.WritePane.prototype._parsePasteContentToArray = function(value) { var rows = [], start_index = 0, flag = false; for (var i = 0; i < value.length; i++) { var cr = value.charAt(i); if (cr === '"') { flag = !flag; } else if (cr === '\n' && !flag) { rows.push(value.substring(start_index, i) .replaceAll('""', '\n\r') .replaceAll('"', '') .replaceAll('\n\r', '"')); start_index = i + 1; } } if (start_index < value.length) { rows.push(value.substring(start_index, value.length) .replaceAll('""', '\n\r') .replaceAll('"', '') .replaceAll('\n\r', '"')); } for (var i = 0; i < rows.length; i++) { rows[i] = rows[i].split('\t'); } return rows;}
如果勾選了「直接顯示元件」,貼上操作就會失效。
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙