找回密码
 立即注册

QQ登录

只需一步,快速开始

powerchina
注册会员   /  发表于:2021-10-13 10:10  /   查看:2717  /  回复:10
自带导入功能
image.png272364501.png
导入数据之后,点击保存无法获取最新导入后的数据
image.png305356444.png

有没有导入数据之后的 回调事件,或者获取导入之后获取最新的导入后数据的api ,使用 Spread.toJSON() 无法获取导入后最新数据

10 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-10-13 16:52:59
推荐
本帖最后由 Lynn.Dou 于 2021-10-13 16:55 编辑

“当前整个sheet改变了”
其实包含很多改变,比如单元格的值、样式、增加一个tag、甚至删除某行某列。
影响因素太多,这个就很难判断了。

如果只是考虑到你上面提到的需求,可以测试下下方的方案:

1、”监听是否 是导入类型“
designer V14.2.1 推出了新的事件,可以监听设计器导入事件。即如果进行了导入操作,可以在事件中记录下。
(因V14.2.1 官网未正式发布,所以目前还没有API说明,您可以升级版本后,参考下方代码先测试下。)
  1. var designer = GC.Spread.Sheets.Designer.findControl(document.getElementById("gc-designer-container"));
  2. designer.bind(GC.Spread.Sheets.Designer.Events.FileLoaded, function(e, info) {
  3.     console.log("加载文件");
  4.     console.log(info)
  5. })
复制代码

2、”监听是否是单元格修改类型“
SJS提供脏数据的功能,如果单元格数据发生了修改可以记录到。
在学习指南有详细介绍,您可以了解下:
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/cells/edit/dirty-items#

(注:为避免问题混淆,建议一题一贴,有新问题的话可以另开新帖。)
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-10-13 10:55:12
沙发
您在导入文件之后,
使用以下代码(示例)重新获取下spread,

var spread= GC.Spread.Sheets.Designer.findControl(document.getElementById("gc-designer-container")).getWorkbook();

然后使用 spread.toJSON() 导出json

回复 使用道具 举报
powerchina
注册会员   /  发表于:2021-10-13 11:09:53
板凳
Lynn.Dou 发表于 2021-10-13 10:55
您在导入文件之后,
使用以下代码(示例)重新获取下spread,

好嘞,我试试
回复 使用道具 举报
powerchina
注册会员   /  发表于:2021-10-13 11:37:12
地板
不行呀,我使用的是 spreadJs 14 react 版本的
image.png205957640.png
报错代码

image.png936251830.png
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-10-13 13:34:25
5#
先获取到designer,然后使用 getWorkbook 方法获取spread。
您检查下designer是否获取正确。
回复 使用道具 举报
powerchina
注册会员   /  发表于:2021-10-13 15:13:20
6#
Lynn.Dou 发表于 2021-10-13 13:34
先获取到designer,然后使用 getWorkbook 方法获取spread。
您检查下designer是否获取正确。

好哒,你讲的对了,因为我使用的是组件版excel ID为 designer ,
image.png684310607.png

这样写,可以获取到当前导入数据后全部数据,
谢谢

回复 使用道具 举报
powerchina
注册会员   /  发表于:2021-10-13 15:22:21
7#
本帖最后由 powerchina 于 2021-10-13 15:33 编辑

你好, 关于导入的我还有个问题, image.png349708251.png
问题描述:   当导入数据后,我怎么监听当前整个excel改变了(1. 可能是空白模板直接导入,2. 可能是已经有数据了,导入最新数据)?比如我有个关闭按钮,我导入数据后我直接点击关闭按钮,这个时候我怎么监听数据改变了?
期望结果:
我导入数据后,我点击关闭按钮,能监听当前excel数据改变。如果有条件的话最好可以监听是否 是导入类型还是单元格修改类型的情况




回复 使用道具 举报
powerchina
注册会员   /  发表于:2021-10-13 16:37:21
8#
还有人在吗
回复 使用道具 举报
powerchina
注册会员   /  发表于:2021-10-13 17:43:18
10#
本帖最后由 powerchina 于 2021-10-13 18:10 编辑
Lynn.Dou 发表于 2021-10-13 16:52
“当前整个sheet改变了”
其实包含很多改变,比如单元格的值、样式、增加一个tag、甚至删除某行某列。
影 ...

好的,谢谢你,我试试,我下次注意
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部