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

QQ登录

只需一步,快速开始

水牛

注册会员

14

主题

36

帖子

114

积分

注册会员

积分
114

[处理中] 公式失效问题

水牛
注册会员   /  发表于:2024-5-16 17:36  /   查看:137  /  回复:5
2金币
本帖最后由 Richard.Huang 于 2024-5-22 14:17 编辑

产品:SpreadJS
版本:V16.1.4

前端绑定了6000条数据,SpreadJS在前端写入数值速度发现比较慢,所以研究发现sjs里的sharedStrings.json是绑定文件,我们将绑定的内容在后台替换成了数值再传给前台,发现公式失效了,请问在后端把文字替换为啥引用的公式就失效了?
image.png88552245.png

5 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-5-17 09:07:28
沙发
您好,SJS类型文件是SpreadJS导入导出的中间产物,我们不推荐也不支持以任何方式修改SJS类型文件中的内容,也无法提供修改文件后的支持,所有的修改操作请务必使用公开的API来实现。
SpreadJS 17.0.9 | GcExcel 7.1.2 已发布~
回复 使用道具 举报
水牛
注册会员   /  发表于:2024-5-17 09:13:28
板凳
Joestar.Xu 发表于 2024-5-17 09:07
您好,SJS类型文件是SpreadJS导入导出的中间产物,我们不推荐也不支持以任何方式修改SJS类型文件中的内容, ...

如果使用数据赋值,6000个赋值速度发现比较慢,打开速度会3分钟
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-5-17 12:29:19
地板
您好,那您这边具体是怎么赋值的呢?
SpreadJS 17.0.9 | GcExcel 7.1.2 已发布~
回复 使用道具 举报
水牛
注册会员   /  发表于:7 天前
5#
Joestar.Xu 发表于 2024-5-17 12:29
您好,那您这边具体是怎么赋值的呢?

sheet.setText(searchresult.foundRowIndex, searchresult.foundColumnIndex, text);
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:7 天前
6#
您好,

1、写入数值时请使用setValue接口而不是setText接口。

2、批量写入数值时请关闭绘制、事件和计算引擎,待写入完毕再开启。

如:

sheet.suspendPaint();
sheet.suspendCalcService();
sheet.suspendEvent();

sheet.resumeEvent();
sheet.resumeCalcService();
sheet.resumePaint();

更多请参考:https://demo.grapecity.com.cn/sp ... C%E6%80%A7%E8%83%BD

3、如果插入的数据有规律,也可以使用setArray方法。https://demo.grapecity.com.cn/sp ... .Worksheet#setarray
SpreadJS 17.0.9 | GcExcel 7.1.2 已发布~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部