找回密码
 立即注册

QQ登录

只需一步,快速开始

果爸

注册会员

11

主题

35

帖子

120

积分

注册会员

积分
120
果爸
注册会员   /  发表于:2022-11-3 12:40  /   查看:1967  /  回复:6
5金币
报表导出的时候,如果只导出系统自带的函数(excel能识别),不导出自定义的函数(excel无法识别,只显示了函数并没有显示具体的数值),

最佳答案

查看完整内容

您好,这里有个方案,自定义公式后,可以创建一个数组,push 公式名。 导出excel前, 复制当前workbook ,在复制后的workbook对象上,遍历当前单元格,如果判断此单元格有公式,且在自定义公式数组中,此时将其值替换了公式结果。 这样子不会破坏原有的逻辑,也可以修改单元格的值。

6 个回复

倒序浏览
最佳答案
最佳答案
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-11-3 12:40:32
来自 5#
本帖最后由 Ellia.Duan 于 2022-11-4 14:40 编辑

您好,这里有个方案,自定义公式后,可以创建一个数组,push 公式名。
导出excel前,
复制当前workbook ,在复制后的workbook对象上,遍历当前单元格,如果判断此单元格有公式,且在自定义公式数组中,此时将其值替换了公式结果。
这样子不会破坏原有的逻辑,也可以修改单元格的值。


回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-11-3 18:26:39
2#
您好,您的需求是 导出excel时,如果使用了系统自带的函数,即不做处理。如果用到了自定义函数,则单元格内容为公式结果,不导出公式?
回复 使用道具 举报
果爸
注册会员   /  发表于:2022-11-4 07:52:09
3#
如果是系统函数,导出的时候公式和数据都导出,如果是自定义函数,那么只导出数据,不导出公式,因为如果自定义函数公式也导出的话,在excel中就只显示公式不显示数据了,
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-11-4 13:31:17
4#
果爸 发表于 2022-11-4 07:52
如果是系统函数,导出的时候公式和数据都导出,如果是自定义函数,那么只导出数据,不导出公式,因为如果自 ...

问题收到,这边调研下给您回复。
回复 使用道具 举报
果爸
注册会员   /  发表于:2022-11-4 14:43:14
6#
我一开始也这么想的,但是担心效率问题,因为客户的表有将近100个sheet,如果没有更好的办法我只能这样
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-11-4 15:25:52
7#
果爸 发表于 2022-11-4 14:43
我一开始也这么想的,但是担心效率问题,因为客户的表有将近100个sheet,如果没有更好的办法我只能这样

有一个点可以优化一下

复制工作簿,toJSON后,新工作簿fromJSON时,可以设置不重新计算公式
  1. doNotRecalculateAfterLoad: true
复制代码

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部