本帖最后由 Fiooona 于 2020-2-4 10:56 编辑
SpreadJS性能怎么样?这个问题在SpreadJS官网中有个性能演示的例子: 这个例子中5万行数据仅需0.1秒左右可以完成加载。 实际应用中SpreadJS的性能与很多因素有关,比如数据中是否有公式、样式、条件格式等。
在写入数据、样式时出现卡顿? 大多数时候, 在你改变 Spread 之后, 控件会自动刷新以达到重绘和更新状态的目的。 可是, 如果你一次做出大量的改变, 并且不希望每次改变都去重新绘制 Spread , 那么你可以调用 suspendPaint 暂停重绘, 完成改变之后,你可以调用resumePaint 重新激活Spread重绘: - var spread = GC.Spread.Sheets.findControl(document.getElementById('ss'));
- spread.suspendPaint();
- spread.addSheet(0);
- spread.fromJSON(json);
- spread.resumePaint();
复制代码暂停绘制有workbook级别的接口:spread.suspendPaint(),还有表单级别的sheet.suspendPaint()
为什么我导入Excel/JSON很慢? 打开您的表单,如果导入没问题考虑可能是您的代码逻辑问题或者是SpreadJS版本过旧,可以提供下您的能复现问题的代码及产品的版本号。 如果还是有导入慢的问题可以从以下几方面入手: 1 调用fromJSON时传入参数jsonOptions - var jsonOptions = {
- ignoreFormula: true, // 导入JSON时是否忽略公式,默认为false
- ignoreStyle: true, // 是否忽略样式,默认为false
- frozenColumnsAsRowHeaders: true, // 是否将冻结列作为行头,默认为false
- frozenRowsAsColumnHeaders: true, // 是否将冻结行作为列头,默认为false
- doNotRecalculateAfterLoad: true //导入JSON后是否重新计算,默认为重新计算
- }
复制代码分别验证ignoreFormula、ignoreStyle、doNotRecalculateAfterLoad传入false 时是否可以改善载入慢的问题,这三个参数分别代表是否忽略公式、忽略样式、载入后是否重新计算公式 2 如果做了以上的验证还有问题可以将表单上传至GCDN SpreadJS的求助中心板块:求助中心链接地址 我们会针对具体的表单进行分析,定位问题。
SpreadJS最多能显示多少表单?对多能显示多少行、多少列? SpreadJS默认是有200行,20列,可以通过setColumnCount、setRowCount设置行、列数,SpreadJS可以有无限行、无限列,对sheet页的数量也没有限制。
|