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

QQ登录

只需一步,快速开始

1225932566

金牌服务用户

46

主题

116

帖子

474

积分

金牌服务用户

积分
474
1225932566
金牌服务用户   /  发表于:2017-9-19 17:34  /   查看:3405  /  回复:7
本帖最后由 1225932566 于 2017-9-29 09:41 编辑

导出的时候循环清空函数,效率很低,有没有什么设置

7 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-9-19 17:56:03
沙发
您好,循环清空json的效率并不低,大致思路是写一个循环遍历json中的内容,然后将json中的公式清空。
回复 使用道具 举报
1225932566
金牌服务用户   /  发表于:2017-9-19 18:02:20
板凳
ClarkPan 发表于 2017-9-19 17:56
您好,循环清空json的效率并不低,大致思路是写一个循环遍历json中的内容,然后将json中的公式清空。

var sp = GC.Spread.Sheets.findControl($('#ss')[0]);
var co = sp.getSheetCount();
for (var i = 0; i < co; i++) {
        var sh = sp.getSheet(i);
        for (var r = 3; r < sh.getRowCount(); r++) {
                for (var c = 3; c < sh.getColumnCount(); c++) {
                        if (sh.hasFormula(r,c)) {
                                var v = sh.getValue(r,c);
                                sh.setFormula(r,c,'');
                                sh.setValue(r,c, v);
                        }
                }
        }
}
var exportObj = sp.toJSON({ includeBindingSource: true });           
var json = JSON.stringify(exportObj);
excelIo.save(json, function (blob) {
        console.log('ok');
});

这样循环太卡了,麻烦看一下

回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-9-20 10:55:27
地板
您好,我说的是修改json文件不是直接去遍历单元格,修改json文件基本不会印象性能
参考下面demo:

exportclearfomula.zip

2.34 KB, 下载次数: 90

回复 使用道具 举报
1225932566
金牌服务用户   /  发表于:2017-9-28 21:11:23
5#
ClarkPan 发表于 2017-9-20 10:55
您好,我说的是修改json文件不是直接去遍历单元格,修改json文件基本不会印象性能
参考下面demo:

您好,现在发现性能问题在
  1. excelIo.save(json, function (blob) {
复制代码

附件是测试文件

1428.7z (175.82 KB, 下载次数: 72)
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-9-29 09:20:31
6#
您好,我看了一下,原因是这样的,您没用的行太多了,造成了json文件过大,导致导出变慢,如下图所示:
image.png959636230.png
R列之后~XFB列都是没有用的空列,这些就是导致导出变慢的原因,您每个SHEET都优化一下,如果存在这样的空列,将它删掉就可以了。
回复 使用道具 举报
1225932566
金牌服务用户   /  发表于:2017-9-29 09:39:59
7#
ClarkPan 发表于 2017-9-29 09:20
您好,我看了一下,原因是这样的,您没用的行太多了,造成了json文件过大,导致导出变慢,如下图所示:

...

好的,明白了
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-9-29 13:43:49
8#
那就结帖了,有什么问题欢迎另开新帖进行询问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部