找回密码
 立即注册

QQ登录

只需一步,快速开始

鹅鹅鹅blue
金牌服务用户   /  发表于:2024-4-17 10:51  /   查看:253  /  回复:8
本帖最后由 Richard.Huang 于 2024-4-22 14:47 编辑

产品:SpreadJS
版本:V16.2.4

您好  从Excel中复制数据到SpreadJS中粘贴出现空格的问题在https://gcdn.grapecity.com.cn/showtopic-203431-1-1.html  这个帖子中已经沟通过,根据您提供的方法在SpreadJS页面中看的确没有空格,但是在修改值中仍然可以看到空格,
987688454b74e3a1359e74ab0fbf18d8.png789449767.png

8 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-4-17 11:03:43
沙发
您好,我没太理解您这个图片中的信息,这个数据是从哪里获取到的?是通过SpreadJS的公开接口获取到的吗?

“但是在修改值中仍然可以看到空格”,您为什么要关注修改值的这个空格,是为了实现什么样的需求?
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
鹅鹅鹅blue
金牌服务用户   /  发表于:2024-4-17 18:05:02
板凳
是我们的客户关注修改值的空格,主要业务需求是客户来做,我们是提供一个经spreadjs封装的组件。图片信息是客户调封装的getChangeData方法,可以看到newValue和oldValue;  而newValue的获取是通过spreadjs的getValue方法
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-4-18 09:01:07
地板
了解了,您说的这个getValue具体是在什么时候执行的呢?有没有可以直观复现此问题的Demo?
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
鹅鹅鹅blue
金牌服务用户   /  发表于:2024-4-18 10:36:45
5#
在spread-sheet子组件中emit暴露spreadjs的三个原生方法: ,并在preview.vue中接收,preview.vue文件在附件中。
再执行之前帖子中的粘贴操作,在控制台的valueChanged中可看到newValue是' ',即带有空格。而此时页面上按您提供的方法双击查看是没有空格

Preview.vue

17.02 KB, 下载次数: 10

回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-4-18 11:23:44
6#
您好,我这边调试了一下,简单来说单元格的空格真正变成null的时机是在setTextArray这个函数中的,但是rangeChanged中的valueChanged会在执行setTextArray之前就触发,导致输出的结果仍为空格。

image.png235837706.png

image.png245354613.png

受限于产品本身的Limitation,这边暂时没有更好的方案能够解决这个问题。
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
鹅鹅鹅blue
金牌服务用户   /  发表于:2024-4-18 13:08:09
7#
那为什么setTextArray将空格变成null时,不能自动再次触发valueChanged呢   valueChanged和rangeChanged是spreadjs的API
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-4-18 13:32:55
8#
您好,这是因为SpreadJS中部分事件只能通过UI行为触发,无法使用API触发的。setTextArray中使用的就是SpreadJS内部的API。
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-4-22 17:33:13
9#
您好,请问您的问题是否已经解决,如果仍未解决,欢迎继续回帖,我们来协助调研。
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部