Excel資料複製貼上到填報儲存格

1. 概述

1.1 應用場景

FineReport 支援將 Excel 中的資料copy到填報頁面中,再進行提交。

注:不支援行動端。

1.2 解決思路

填報預覽時,先增加相應數量的空白記錄,再將 Excel 中的資料copy到這些空白記錄中。

2. 操作方法

1)如下圖所示設計填報報表。

2)選擇填報預覽開啟報表,點選工具欄上的增加記錄按鈕,Excel 中需要複製多少行,瀏覽器上就要增加多少條空白記錄

3)選中並複製(Ctrl+C)Excel 中的資料。

4)回到填報預覽頁面,貼上資料。

按資料左上角儲存格,出現如下圖所示的黑框時貼上(Ctrl+V)。

5)點選提交即可。

3. 下載範本

點選下載已完成範本:Excel資料複製貼上到填報儲存格.cpt

點選下載 Excel 檔案:地區銷售額填報.xlsx

4. 注意事項

4.1 空值自動忽略

問題描述:

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;
}
显示代码

4.2 複製貼上excel多個空白欄,最後一欄無法貼上

問題描述:

複製的資料中存在空白欄,複製的空白欄無法貼上進入範本,如下圖所示:

1668155872790136.gif

解決方案:

如果需要複製貼上 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;
}
显示代码

4.3 不支援直接顯示元件

如果勾選了「直接顯示元件」,貼上操作就會失效。

附件列表


主題: 填報應用
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
中文(繁體)

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

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

不再提示

9s后關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙

反饋已提交

網絡繁忙