找回密码
 立即注册

QQ登录

只需一步,快速开始

裴松晨
金牌服务用户   /  发表于:2023-4-18 18:22  /   查看:3029  /  回复:15
300金币
本帖最后由 裴松晨 于 2023-4-19 15:53 编辑

在做表格数据绑定的时候,我的第一列的值被第三列给覆盖了,但是我在输出表格绑定的数据源字段与输出的数值是正确的
image.png887519225.png
image.png502099608.png

绑定的数据源信息里面的值也是正确的
image.png681833190.png
image.png639384765.png
求大神看一下这种是什么原因造成的




最佳答案

查看完整内容

刚刚你开会议的时候我看到了这个问题,目前解决了: 我在获取数值的时候使用的是循环变量,获取的值的对的 在数据绑定的时候使用的是外层循环赋值的变量,所以一直是第一行 修改为循环体内的变量就可以了 谢谢

15 个回复

倒序浏览
最佳答案
最佳答案
裴松晨
金牌服务用户   /  发表于:2023-4-18 18:22:11
来自 13#

刚刚你开会议的时候我看到了这个问题,目前解决了:
我在获取数值的时候使用的是循环变量,获取的值的对的
ace937c855cba6fae9993e9a0d376d1.png843227844.png
在数据绑定的时候使用的是外层循环赋值的变量,所以一直是第一行
678554f7b4a4493ad02d1d4cbc9fd9c.png663766173.png
修改为循环体内的变量就可以了
image.png278376769.png
谢谢
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-19 17:07:16
2#
发个demo我们调试一下代码看吧,这么看看不出来问题。
回复 使用道具 举报
裴松晨
金牌服务用户   /  发表于:2023-4-20 10:24:35
3#
Clark.Pan 发表于 2023-4-19 17:07
发个demo我们调试一下代码看吧,这么看看不出来问题。

您好,请看一下

demo.zip

1.16 MB, 下载次数: 327

回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-20 16:50:11
4#
您好,理解您是想要实现一个空白的填报,然后通过Excel导入的方式快速填写填报内容。
但是这样做是不对,因为导入Excel是一个整个spread对象重写的行为,spread对象里的内容都会被Excel的内容去重写。之前的绑定映射关系是建立在之前的spread中的,所以重写后就不对了。我们的数据绑定设计不是这样来用的。
至于填报,一个空白填报可以在其上输入或者进行区域的复制粘贴都可以,导入是不行的。导入功能就是单纯的去读取一个Excel文件的内容,仅此而已。
回复 使用道具 举报
裴松晨
金牌服务用户   /  发表于:2023-4-20 17:01:26
5#
Clark.Pan 发表于 2023-4-20 16:50
您好,理解您是想要实现一个空白的填报,然后通过Excel导入的方式快速填写填报内容。
但是这样做是不对, ...

1.但是我在导入之后,做到了映射关系的重新绑定,并且我看了一下数据绑定都是对的,其余属性我不让他进行变化。之前我是在每个页面做的导入操作数据没有错乱,后面因为我的表太多了,所以我抽取到了一个方法中就出现了如上问题


2.或者说除了框架中的导入,有什么办法能做到能空白填报并且用户的excel也可以进行导入,在我的理解上面这个只能通过导入实现,是否说这边需要我们自己去写一个导入的方法?
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-20 20:05:27
6#
那你顺序搞错了,应该是先导入Excel,然后设置绑定,然后再设置值
我将你代码SpreadjsImportSheetBind方法提前到了fromJSON后,发现没毛病了。
image.png721532287.png
结果如下:
image.png721925048.png
回复 使用道具 举报
裴松晨
金牌服务用户   /  发表于:2023-4-21 09:12:52
7#
Clark.Pan 发表于 2023-4-20 20:05
那你顺序搞错了,应该是先导入Excel,然后设置绑定,然后再设置值
我将你代码SpreadjsImportSheetBind方法 ...

确实解决了我顺序错乱的问题,但是我有几个疑问:


1.因为我这个是体验版的所以我需要清空自定义生成的sheet页面,为什么这段代码放在清空自定义生成sheet页面前面就可以,放在清楚自定义页面后面就不行。因为我在SpreadjsImportSheetBind方法前获取的是下标0的sheet页面,如果他没有进行删除自定义生成页面的时候,获取的是自定义生成的还是我原本的页面(虽然我看到的是获取到了我的企业财务快报页面)


第一个问题不重要,因为我们公司这边准备买正式版

2.先获取到数据再设置绑定与先获取到值再绑定有什么区别,因为我之前在单页面的时候也是做的先获取值再绑定没有出现问题,而是在抽取这个js文件后出现了这种问题


回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-4-21 10:10:41
8#
方便电话沟通一下吗,您这边我发现了一些问题,语言文字不好解释,需要电话沟通一下。
回复 使用道具 举报
裴松晨
金牌服务用户   /  发表于:2023-4-21 10:17:22
9#
Clark.Pan 发表于 2023-4-21 10:10
方便电话沟通一下吗,您这边我发现了一些问题,语言文字不好解释,需要电话沟通一下。

您好,我这边没有权限加您好友,您看您什么时候有时间麻烦您加我一下我把手机号发您,或者你把手机号发我一下
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部