找回密码
 立即注册

QQ登录

只需一步,快速开始

冥冥中明明是你

注册会员

13

主题

58

帖子

163

积分

注册会员

积分
163
冥冥中明明是你
注册会员   /  发表于:2022-8-24 18:45  /   查看:1379  /  回复:5
50金币
每次数据源sales变更时均会触发以下代码,以此设置单元格累加公式,但是在切换后会在原来绑定公式的那一行留下#NAME?
请问如何在清空自定义名称的时候同时也清楚已设置的公式呢?
sheet.setDataSource(sales);
sheet.clearCustomNames();
sheet.addRows(sheet.getRowCount(), 1);
sheet.addCustomName('customerName', '=$K$1K$' + ales.length, 0, 0);
sheet.setFormula(sales.length, 10, "=SUM(customerName)");
企业微信截图_16613378242619.png

最佳答案

查看完整内容

你可以在setDataSource之前先用代码删除这个公式就行

5 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-8-24 18:45:15
来自 3#
你可以在setDataSource之前先用代码删除这个公式就行
  1. sheet.setFormula(sales.length-1, 0, null);
复制代码
回复 使用道具 举报
沉沉悬赏达人认证
金牌服务用户   /  发表于:2022-8-25 10:05:01
2#
本帖最后由 沉沉 于 2022-8-25 10:10 编辑

sheet.setFormula(sheet.getRowCount()-1, 10, undifined);或者
sheet.setFormula(sheet.getRowCount()-1, 10, '');
在原来绑定公式的那个单元格,设置setFormula为undefined或空字符串或null即可清除公式,但是会保留数据。
如果想清除所有,可以调用clear方法,设置清除类型为data
  1. sheet.clear(1,1,1,1,3,GC.Spread.Sheets.StorageType.data)
复制代码



回复 使用道具 举报
冥冥中明明是你
注册会员   /  发表于:2022-8-25 14:37:12
4#
沉沉 发表于 2022-8-25 10:05
sheet.setFormula(sheet.getRowCount()-1, 10, undifined);或者
sheet.setFormula(sheet.getRowCount()-1, ...

好的,谢谢,问题已经解决了
回复 使用道具 举报
冥冥中明明是你
注册会员   /  发表于:2022-8-25 14:38:50
5#
Richard.Ma 发表于 2022-8-25 10:31
你可以在setDataSource之前先用代码删除这个公式就行

有效,问题已解决,可以结贴了,谢谢!
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-8-25 14:46:06
6#
好的,有其他问题欢迎发新帖咨询
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部