请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

人为峰

金牌服务用户

8

主题

18

帖子

74

积分

金牌服务用户

积分
74
人为峰
金牌服务用户   /  发表于:2025-1-24 17:03  /   查看:63  /  回复:4
1金币

希望在spread sheet 在保存 sjs模板的同时保存树结构,这个能否实现,
如果不行,能否保存模板的同时保存树结构加载的数据,目前只保存了修改过的数据

左图为加载带有模板字段的treeNodeFromJson 的数据     右侧为执行this.spread.save过后加载的数据
image.png423758849.png image.png518081969.png

<gc-spread-sheets class="sample-spreadsheets" @workbookInitialized="initSpread">
  <gc-worksheet>
  </gc-worksheet>
</gc-spread-sheets>



this.spread.save(async (blob)  => {

  const path = "/upload/" + dayjs(new Date()).format('YYYYMMDD') + "/"
  const response = await client.put(path + fileName + '.sjs', blob)




最佳答案

查看完整内容

您好,猜测您使用了数据绑定功能,数据绑定功能允许将javascript中的变量与sheet中的数据源绑定,结合单元格的绑定路径,就可以在单元格显示js变量中的字段。 但是这一特性在导出后(不论导出的是json,还是sjs,抑或xlsx),由于脱离了javascript的运行环境,数据源对应的js变量就无法存储了,具体就表现为绑定值消失。尽管我们在导出、保存时提供了saveOption-includeBindingSource,可供您将这些变量以单元格值的形式保存起来 ...

4 个回复

倒序浏览
最佳答案
最佳答案
Matthew.Xue
超级版主   /  发表于:2025-1-24 17:03:59
来自 2#
本帖最后由 Matthew.Xue 于 2025-1-24 17:34 编辑

您好,猜测您使用了数据绑定功能,数据绑定功能允许将javascript中的变量与sheet中的数据源绑定,结合单元格的绑定路径,就可以在单元格显示js变量中的字段。
但是这一特性在导出后(不论导出的是json,还是sjs,抑或xlsx),由于脱离了javascript的运行环境,数据源对应的js变量就无法存储了,具体就表现为绑定值消失。尽管我们在导出、保存时提供了saveOption-includeBindingSource,可供您将这些变量以单元格值的形式保存起来(即导入后单元格的值可以保留),但再次导入这个sjs/json文件时,您通过sheet.getDataSource拿到的值仍然为null。
  1. spread.save(function(blob){
  2.     // save sjs file
  3. }, function() {}, {
  4.     includeBindingSource: true
  5. })
复制代码

建议您可以在执行save方法保存sjs文件的同时,将数据源sheet.getDataSource().getSource()也保存一份,这样下次再打开这个sjs文件时,就可以重新将这个变量重新setDataSource回去。


回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:5 天前
3#
您好,请问您的疑问是否已经解决了呢,如果解决了的话,这边就结贴啦
回复 使用道具 举报
人为峰
金牌服务用户   /  发表于:5 天前
4#
Matthew.Xue 发表于 2025-2-5 15:07
您好,请问您的疑问是否已经解决了呢,如果解决了的话,这边就结贴啦

解决了
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:5 天前
5#
感谢您的支持~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部