找回密码
 立即注册

QQ登录

只需一步,快速开始

rsandtl

初级会员

24

主题

51

帖子

209

积分

初级会员

积分
209
rsandtl
初级会员   /  发表于:2021-8-11 18:23  /   查看:2730  /  回复:3
本帖最后由 Clark.Pan 于 2021-9-7 11:25 编辑

由于系统在复制粘贴时需要走自定义的逻辑,所以目前复制粘贴的实现是将spread的粘贴快捷键给禁用了,监听了浏览器的粘贴事件,并在里面调用了spread的clipboardPaste事件来实现自定义的复制粘贴的

目前使用spreadjs 14.1.1版本,从外部excel复制粘贴的单元格值存在换行符时,粘贴出来的值不正确(使用14.0.7版本没有这种问题,但使用14.0.7版本新版火狐浏览器滚动页面会一次滚动100多行,且放大缩小页面也有问题,放大就到最大,缩小就到最小了)
excel的值如下:
image.png396900023.png



复制粘贴之后,14.1.1版本如下:
image.png722045898.png


demo.zip (1.74 MB, 下载次数: 39)

评分

参与人数 1金币 +500 收起 理由
Clark.Pan + 500 感谢反馈产品问题

查看全部评分

3 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-8-12 09:22:21
沙发
问题已收到,目前该问题已经向研发反馈了,问题编号SJS-9652。该贴做保留处理,有进一步结果我会在这里第一时间向您反馈。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-9-7 11:24:09
板凳
目前,该问题已经定位到了问题原因,但是修复起来有些难度,需要一些时间,目前还没有评估出修复的时间,有进一步的进展我会在这里第一时间回复您。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-10-12 16:02:22
地板
您好:
该问题修复会导致跟SpreadJS新版本内部的逻辑产生冲突,目前有一个临时的解决办法就是:
  1. var worksheetPrototype = GC.Spread.Sheets.Worksheet.prototype, oldSetCsv = worksheetPrototype.setCsv;
  2.             spread.bind(GC.Spread.Sheets.Events.ClipboardPasting, function (e, args) {
  3.                 worksheetPrototype.setCsv = function(row, column, text, rowDelimiter, columnDelimiter, flags, withoutCellDelimiter) {
  4.                     withoutCellDelimiter = false;
  5.                     oldSetCsv.apply(this, arguments);
  6.                 }
  7.             });
  8.             spread.bind(GC.Spread.Sheets.Events.ClipboardPasted, function (e, args) {
  9.                 worksheetPrototype.setCsv = oldSetCsv;
  10.             });
复制代码

其中,withoutCellDelimiter是一个内部参数
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部