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

QQ登录

只需一步,快速开始

硕㏒

金牌服务用户

62

主题

168

帖子

544

积分

金牌服务用户

积分
544
硕㏒
金牌服务用户   /  发表于:2025-3-4 09:37  /   查看:76  /  回复:3
1金币
本帖最后由 硕㏒ 于 2025-3-4 10:07 编辑

目前我使用spreadjs是把ssjson文件存储在后端,用户再填报的时候,前段请求接口把ssjson文件拿到,同时还有数据绑定字段的json拿到,加载在页面供用户填报;
现在想实现一个功能:
1:页面存在公式的单元格,用户点击或双击单元格的时候,公式不展示给用户看到;离开这个单元格的时候,公式依旧能运算;
2:公式自动运算出的值,用户更改值,提示‘当前为系统运算结果,请谨慎修改’,修改后,把当前单元格的字体颜色变为红色,并把公式清除掉;
3:用户修改后,可以记录下删除的公式,允许用户通过撤回操作,回复公式自动计算,并且把单元格字体颜色改为默认色
4:修改后的单元格,悬浮鼠标时,有个提示框,框内显示修改记录,如下图
04cec5ed86e9950ac2b6ba91d9e4121.png610048522.png
请问这个功能好实现吗,我本地写了个demo存在各种问题,想请老师们找个相关的案例demo给我参考下

最佳答案

查看完整内容

您好,我给您提供一个思路,您可以自己试一下。 首先介绍一下实现您需求时需要用到的核心功能点: 1. 单元格格式-保护-隐藏 单元格隐藏并不是让用户看不到这个单元格,而是开启隐藏功能的单元格可以在sheet被保护的情况下隐藏公式,公式计算仍然可用,用户可以看到公式的结果。隐藏默认是关闭的。 2. 单元格格式-保护-锁定 单元格锁定同样仅在sheet被保护的时候起作用,它可以让单元格禁止被修改,还可以在开启sheet保护 ...

3 个回复

倒序浏览
最佳答案
最佳答案
Matthew.Xue
超级版主   /  发表于:2025-3-4 09:37:08
来自 2#
您好,我给您提供一个思路,您可以自己试一下。
首先介绍一下实现您需求时需要用到的核心功能点:
1. 单元格格式-保护-隐藏
单元格隐藏并不是让用户看不到这个单元格,而是开启隐藏功能的单元格可以在sheet被保护的情况下隐藏公式,公式计算仍然可用,用户可以看到公式的结果。隐藏默认是关闭的。
image.png258255309.png

2. 单元格格式-保护-锁定
单元格锁定同样仅在sheet被保护的时候起作用,它可以让单元格禁止被修改,还可以在开启sheet保护时配置可以对单元格进行哪些操作:
image.png961992797.png

提一句,隐藏和锁定仅仅是ui层面的限制,您仍然可以使用代码直接修改单元格的任何内容,包括值、公式、样式等等。

了解了以上两点之后,您现在需要做的就是配置一个模板,让公式单元格开启锁定和隐藏,其他单元格按照您的需求(希不希望用户修改)来配置是否锁定即可,这样就实现了用户无法看到公式,公式可以计算的需求,接下来就要实现用户修改公式结果的效果了。
开启sheet保护,并在公式单元格开启了锁定和隐藏后,用户无法直接修改单元格的内容,所以需要通过间接的方式来实现,比如通过添加一个右键菜单,或者通过外部的按钮,都可以,最终弹出一个弹框,让用户自己输入公式的结果,确定后您用api清除公式,并将输入的值设置进去,修改单元格背景色,再添加一个批注来记录用户的修改就可以了。

您可以会用到的链接:
在设计器中添加右键菜单
无设计器,添加右键菜单
设置公式,清除公式时传null即可
设置样式
添加批注

回复 使用道具 举报
硕㏒
金牌服务用户   /  发表于:2025-3-4 10:44:26
3#
Matthew.Xue 发表于 2025-3-4 10:26
您好,我给您提供一个思路,您可以自己试一下。
首先介绍一下实现您需求时需要用到的核心功能点:
1. 单 ...

谢谢您的回复,给我了一个完全不同的思路,该需求我们会在三月底或者4月开始开发,到时候有问题我再通过帖子联系您
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:2025-3-4 10:49:21
4#
硕㏒ 发表于 2025-3-4 10:44
谢谢您的回复,给我了一个完全不同的思路,该需求我们会在三月底或者4月开始开发,到时候有问题我再通过 ...

好的,那到时候再发新帖,这边就先结贴啦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部