反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

Excel数据复制粘贴到填报单元格

  • 文档创建者:文档助手1
  • 历史版本:15
  • 最近更新:Catqiu 于 2022-11-11
  • 1. 概述

    1.1 应用场景

    FineReport 支持将 Excel 中的数据拷贝到填报页面中,再进行提交。

    注:不支持移动端。

    1.2 解决思路

    填报预览时,先增加相应数量的空白记录,再将 Excel 中的数据拷贝到这些空白记录中。

    2. 操作方法

    1)如下图所示设计填报报表。
    222

    2)选择填报预览打开报表,点击工具栏上的增加记录按钮,Excel 中需要复制多少行,浏览器上就要增加多少条空白记录

    222

    3)选中并复制(Ctrl+C)Excel 中的数据。

    222

    4)回到填报预览页面,粘贴数据。

    单击数据左上角单元格,出现如下图所示的黑框时粘贴(Ctrl+V)。
    222

    5)点击提交即可。

    3. 注意事项

    3.1 空值自动忽略

    问题描述:

    Excel 中的空值目前无法粘贴到填报页面,也就是空值会自动忽略跳过。

    screenshot-1.png

    解决方法:

    可在设计器菜单栏「模板>模板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;}

    3.2 复制粘贴excel多个空白列,最后一列无法粘贴

    问题描述:

    复制的数据中存在空白列,复制的空白列无法粘贴进入模板,如下图所示:

    2022-11-11_16-37-19.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;}

    3.3 不支持直接显示控件

    如果勾选了直接显示控件,粘贴操作就会失效。

    Snag_10709f0b.png

    附件列表


    主题: 填报应用
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526