找回密码
 立即注册

QQ登录

只需一步,快速开始

一蓑烟雨

初级会员

14

主题

49

帖子

368

积分

初级会员

积分
368
一蓑烟雨
初级会员   /  发表于:2020-11-3 18:14  /   查看:3153  /  回复:3
本帖最后由 一蓑烟雨 于 2020-11-4 12:04 编辑

如题,使用table.setColumnDataFormula()方法设置公式发现数据量大的时候速度会非常慢,同时导出的时候设置了公式的列会报错,如截图所示,请问该如何解决?
企业微信截图_16043982072886.png

demo.zip

1.8 KB, 下载次数: 102

3 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-11-3 18:37:56
沙发
本帖最后由 lynn512 于 2020-11-4 10:27 编辑

1. 在你改变表单之后, 控件会自动刷新以达到重绘和更新状态的目的。
可是, 如果你一次做出大量的改变, 并且不希望每次改变都去重新绘制表单 , 那么你可以调用 suspendPaint方法来挂起重绘机制。
当你完成了所有的改变之后, 你可以调用 resumePaint 方法来重新激活重绘机制。

代码如下所示:
var spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
var sheet = spread.getActiveSheet();
sheet.suspendPaint();
......
sheet.recalcAll();
sheet.resumePaint();

具体代码可见附件1demo。
                    
2. 导出公式报错问题为下图所示代码导致的,删除代码即可正常导出。
image.png611770629.png
请问您设置筛选是用来做什么呢,table自带筛选功能,无需二次设置筛选。
附件2为导出excel的demo,您可以测试下。

demo.html

26.06 KB, 下载次数: 78

导出excel.zip

3.25 KB, 下载次数: 96

回复 使用道具 举报
一蓑烟雨
初级会员   /  发表于:2020-11-4 12:04:00
板凳
非常感谢!问题已处理,我不知道table自带筛选,并且开启筛选会造成冲突。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-11-4 13:36:13
地板
那本帖就先结帖了,有新问题欢迎另开新贴。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部