找回密码
 立即注册

QQ登录

只需一步,快速开始

sssssss

金牌服务用户

138

主题

351

帖子

1213

积分

金牌服务用户

积分
1213
sssssss
金牌服务用户   /  发表于:2024-10-18 15:07  /   查看:352  /  回复:6
1金币
本帖最后由 Wilson.Zhang 于 2024-10-29 11:57 编辑

有没有什么api可以控制单元格内容的显示与隐藏,例如我在a3有一个公式为a1+a2,我想把a1设置为不可见,但是a3的公式不影响计算 image.png891930236.png

最佳答案

查看完整内容

既然这样的话,可以绕一下实现 ,思路如下所述: 1. 借用SpreadJS中Worksheet的隐藏功能,将需要保护的数据集中在一张Worksheet中,然后隐藏这张Worksheet,记为HiddenSheet。 2. 在其他Worksheet(记为VisibleSheet)中引用HiddenSheet中的单元格。 3. 对VisibleSheet中引用了HiddenSheet数据的单元格(记为FormulaCell),设置单元格背景色和字体颜色一致,达到单元格数据不可见但还存在的效果。 4. 对VisibleSheet开启 ...

6 个回复

正序浏览
Wilson.Zhang
超级版主   /  发表于:2024-10-30 10:36:28
7#
您好!在5楼给您提供的方案基础上,我们做了优化,思路如下:

1. 对需要隐藏数据的单元格,设置其文本字体颜色与背景颜色一致,以从视觉上令单元格中的数据不可见。
2. 对需要隐藏数据的单元格,设置其单元格锁定状态,开启表单保护后,对其设置公式不可见,即CellRange:hidden(true)。

运行效果如下动图所示,您可以观察图中”隐藏数据“按钮点击前后单元格A1中的数据可见情况。附上demo,以供参考。
隐藏和显示单元格数据.gif

隐藏单元格中的数据.html

4.96 KB, 下载次数: 1

回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-10-24 14:38:45
6#
您好!由于您较长时间未回复,且从跟帖回复中了解到问题已得到有效解答,那就结帖了。如有新问题,欢迎发新帖沟通。
回复 使用道具 举报
sssssss
金牌服务用户   /  发表于:2024-10-18 16:26:59
4#
Wilson.Zhang 发表于 2024-10-18 16:23
您好!您关于隐藏被引用单元格的需要是为了解决怎样的问题呢?SperadJS支持隐藏某一行,这不影响公式计算。 ...

为了做数据保护,目前数据保护只支持设置是否可编辑,我们这边要做是否可查看,如果只做隐藏某一列不能满足需求,我们要做的是单元格级别的数据隐藏,可以存在worksheet,只是让用户看不到单元格的数据,2楼热心用户的想法不太行,如果用户点击单元格还是能从输入栏看到数据
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-10-18 16:23:00
3#
您好!您关于隐藏被引用单元格的需要是为了解决怎样的问题呢?SperadJS支持隐藏某一行,这不影响公式计算。如果您想要单元格所在行依然可见,只是单元格中的数据不可见,那可以参考2楼热心用户的建议令单元格数据在数据上不可见,但本质上仍然存在于Worksheet中。
回复 使用道具 举报
糖糖他爸
注册会员   /  发表于:2024-10-18 15:41:12
2#
把字体颜色设的和背景颜色一样
回复 使用道具 举报
最佳答案
最佳答案
Wilson.Zhang
超级版主   /  发表于:2024-10-18 15:07:49
来自 5#
本帖最后由 Wilson.Zhang 于 2024-10-21 08:41 编辑
sssssss 发表于 2024-10-18 16:26
为了做数据保护,目前数据保护只支持设置是否可编辑,我们这边要做是否可查看,如果只做隐藏某一列不能满 ...

既然这样的话,可以绕一下实现 ,思路如下所述:

1. 借用SpreadJS中Worksheet的隐藏功能,将需要保护的数据集中在一张Worksheet中,然后隐藏这张Worksheet,记为HiddenSheet。
2. 在其他Worksheet(记为VisibleSheet)中引用HiddenSheet中的单元格。
3. 对VisibleSheet中引用了HiddenSheet数据的单元格(记为FormulaCell),设置单元格背景色和字体颜色一致,达到单元格数据不可见但还存在的效果。
4. 对VisibleSheet开启表单保护,同时对FormulaCell通过CellRange:hidden()令其中的公式不可见,至此,公式编辑栏中的公式也不可见。

如果不需要对整张Worksheet进行操作保护,可以结合单元格的锁定状态控制。您可以评估下上述方案能否满足需要。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部