找回密码
 立即注册

QQ登录

只需一步,快速开始

ct杰
注册会员   /  发表于:2021-11-17 13:20  /   查看:2327  /  回复:5
5金币

jsonData有一千多条数据,执行下面代码需要5-6秒,请问如何优化?


//线条设置
var lineGray = new GC.Spread.Sheets.LineBorder('#000000', GC.Spread.Sheets.LineStyle.thin);
sheet.getRange(0, 0, jsonData.length, 25).setBorder(lineGray, {all:true});

最佳答案

查看完整内容

可以尝试在在设置边框前挂起绘制,绘制完成后再恢复绘制,例如 spread.suspendPaint(); var lineGray = new GC.Spread.Sheets.LineBorder('#000000', GC.Spread.Sheets.LineStyle.thin); sheet.getRange(0, 0, jsonData.length, 25).setBorder(lineGray, {all:true}); spread.resumePaint();

5 个回复

正序浏览
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-11-17 16:15:19
6#
ct杰 发表于 2021-11-17 15:15
刚才试了修改默认样式好像快了好多,不知道会不会有隐藏问题
const defaultStyle = new GC.Spread.Sheets. ...

正常来说不会有问题,这种写法也是允许的。
回复 使用道具 举报
ct杰
注册会员   /  发表于:2021-11-17 15:15:36
5#
本帖最后由 ct杰 于 2021-11-17 15:17 编辑

刚才试了修改默认样式好像快了好多,不知道会不会有隐藏问题
const defaultStyle = new GC.Spread.Sheets.Style()
const bStyle = new GC.Spread.Sheets.LineBorder('#000000',1)
defaultStyle.borderLeft =  defaultStyle.borderTop = defaultStyle.borderRight =  defaultStyle.borderBottom = bStyle
sheet.setDefaultStyle(defaultStyle);



回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-11-17 14:12:24
4#
ct杰 发表于 2021-11-17 14:03
有的,这个已经加了

请问你的版本是多少呢?请提供一个完整的demo,这边看下是否有优化的空间。
回复 使用道具 举报
ct杰
注册会员   /  发表于:2021-11-17 14:03:33
3#
有的,这个已经加了
回复 使用道具 举报
最佳答案
最佳答案
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-11-17 13:20:57
来自 2#
可以尝试在在设置边框前挂起绘制,绘制完成后再恢复绘制,例如

spread.suspendPaint();
var lineGray = new GC.Spread.Sheets.LineBorder('#000000', GC.Spread.Sheets.LineStyle.thin);
sheet.getRange(0, 0, jsonData.length, 25).setBorder(lineGray, {all:true});
spread.resumePaint();
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部