找回密码
 立即注册

QQ登录

只需一步,快速开始

奇怪又好看

初级会员

28

主题

109

帖子

269

积分

初级会员

积分
269
奇怪又好看
初级会员   /  发表于:2021-8-17 11:14  /   查看:1845  /  回复:9
首先的我数据是通过fromJSON导入的

我的需求是需要将每个sheet的全部数据(真实值,展示值,公式,坐标全部信息)取出,传到后端

了解到数据绑定

image.png844829101.png
这个id,name,info1是代表列头吗?
值有代表什么呢?


有具体的案例可供参考吗

9 个回复

倒序浏览
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-8-17 12:00:17
推荐
从您给出的截图来看,使用的是表单绑定,表单级别的绑定可以参考学习指南的demo
https://demo.grapecity.com.cn/sp ... evel-binding/purejs

表单级别的绑定可以理解这些为列头
image.png290310668.png

并且表单级别的绑定可以获取或设置格式、列宽、可见性等,但是无法保存样式。
另外,数据绑定有个教学视频,您可以参考一下
https://gcdn.grapecity.com.cn/showtopic-56767-1-1.html
回复 使用道具 举报
奇怪又好看
初级会员   /  发表于:2021-8-17 16:43:08
板凳
Derrick.Jiao 发表于 2021-8-17 12:00
从您给出的截图来看,使用的是表单绑定,表单级别的绑定可以参考学习指南的demo
https://demo.grapecity.c ...

大致看懂了原理

但是我的数据源是直接fromJSON导入的

那我现在可以直接用this.worksheet.getDataSource提取吗


或者有什么其他的办法,能让我获取我通过fromJSON导入的数据呢
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-8-17 17:22:48
地板
奇怪又好看 发表于 2021-8-17 16:43
大致看懂了原理

但是我的数据源是直接fromJSON导入的

如果是fromJSON导入的只能通过toJSON拿到,或者通过getArray拿到表单区域的值。

只有使用了数据绑定,用setDataSource设置数据源之后才能通过getDataSource拿到数据源。
回复 使用道具 举报
奇怪又好看
初级会员   /  发表于:2021-8-17 18:06:24
5#
Derrick.Jiao 发表于 2021-8-17 17:22
如果是fromJSON导入的只能通过toJSON拿到,或者通过getArray拿到表单区域的值。

只有使用了数据绑定, ...

那我最后想要的形式是key:value的形式,取到这种形式的值,是不是只能用数据绑定了?

那我fromJSON导入后可以再次模拟数据绑定导入吗,再进行数据绑定的导出
回复 使用道具 举报
AlexZ讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-8-18 00:23:37
6#
奇怪又好看 发表于 2021-8-17 18:06
那我最后想要的形式是key:value的形式,取到这种形式的值,是不是只能用数据绑定了?

那我fromJSON导 ...

通过getArray拿到表单区域的值,然后通过 JS 代码生成 K:V 键值对
回复 使用道具 举报
奇怪又好看
初级会员   /  发表于:2021-8-18 10:08:31
7#
AlexZ 发表于 2021-8-18 00:23
通过getArray拿到表单区域的值,然后通过 JS 代码生成 K:V 键值对

我是通过vue设置的spread对象和获取的当前激活sheet
数据是通过fromJSON导入的
initSpread (spread) {
      this.spread = spread
      this.worksheet = spread.getActiveSheet()
},
console.log('提交', this.worksheet.getArray(0, 0, this.worksheet.getRowCount(), this.worksheet.getColumnCount(), true))
console.log('提交', this.worksheet.getArray(0, 0, 10, 10, true))

这两种打印出来都会报同一个错误错

Error in v-on handler: "TypeError: Cannot read property 'getRowCount' of null"
Cannot read property 'getRowCount' of null


但我如果不通过fromJSON导入数据,直接用空白页面
就不会报错
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-8-18 10:26:14
8#
奇怪又好看 发表于 2021-8-18 10:08
我是通过vue设置的spread对象和获取的当前激活sheet
数据是通过fromJSON导入的
initSpread (spread) {
...

fromJSON前后的spread对象不同,所以获取的ActiveSheet也不同,您需要在fromjson之后重新获取这个spread对象再获取ActiveSheet
回复 使用道具 举报
奇怪又好看
初级会员   /  发表于:2021-8-25 09:59:13
9#
Derrick.Jiao 发表于 2021-8-18 10:26
fromJSON前后的spread对象不同,所以获取的ActiveSheet也不同,您需要在fromjson之后重新获取这个spread ...

已经解决了,谢谢
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-8-25 10:05:50
10#

解决了就好,有新问题欢迎开新帖交流~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部