找回密码
 立即注册

QQ登录

只需一步,快速开始

鸳鸯配2024
金牌服务用户   /  发表于:2024-8-9 13:43:26
31#
本帖最后由 鸳鸯配2024 于 2024-8-9 14:14 编辑
Wilson.Zhang 发表于 2024-8-8 17:15
那您先按照咱们讨论的方案尝试,有问题咱们再讨论!

突然发现,这个方法不知道是bug,还是本身的问题
如果它的值为数字的时候,它是可以填充为 ‘****’的
但如果值为 字符串一类的,如字母或汉字,它就不会填充。
  1. let style = new GC.Spread.Sheets.Style();
  2.     style.formatter = '****';
  3.     list.forEach(v=>{
  4.             v.rowCount = v.rowEndNumber - v.rowStartNumber-1
  5.             v.colCount = v.columnEndNumber - v.columnStartNumber-1
  6.             for (let i = 0; i <= v.colCount; i++) {
  7.                 for (let j = 0; j <= v.rowCount; j++) {
  8.                     sheet.setStyle(v.rowStartNumber + j, v.columnStartNumber + i, style, GC.Spread.Sheets.SheetArea.viewport);
  9.                 }
  10.             }
复制代码
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-9 14:14:36
32#
鸳鸯配2024 发表于 2024-8-9 13:43
突然发现,这个方法不知道是bug,还是本身的问题
如果它的值为数字的时候,它是可以填充为 ‘****’的
...

您好!通过样式的formatter定义的是一种自定义格式,与诸如数值、日期、时间、货币、百分比等同样作为单元格格式。因此,它生效的前提是可以识别单元格中数据的格式,可以将这种格式理解为模式。像汉字、英文字符串这些数据在单元格的格式本就是文本格式,不是其他特殊格式,所以自定义格式无法识别。这个现象不是bug,设计如此,与Excel保持一致。
如下图所示即上述中单元格格式:
1723184036029.png153146361.png
回复 使用道具 举报
鸳鸯配2024
金牌服务用户   /  发表于:2024-8-9 14:19:08
33#
Wilson.Zhang 发表于 2024-8-9 14:14
您好!通过样式的formatter定义的是一种自定义格式,与诸如数值、日期、时间、货币、百分比等同样作为单 ...

明白了。
那我想问下,这种不可见的,有什么解决方案吗?
还有个问题是鼠标选中区域,不让用户看到原始数据。

回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-9 14:46:08
34#
鸳鸯配2024 发表于 2024-8-9 14:19
明白了。
那我想问下,这种不可见的,有什么解决方案吗?
还有个问题是鼠标选中区域,不让用户看到原始 ...

鼠标选中区域后,通过Worksheet:getSelections()可以获取到选中区域的行列信息。针对您的需求,更建议您使用SelectionChanged事件监听,待鼠标选中区域后该事件可监听到区域信息,而后在相应的事件处理函数中完成业务。
对于您提到的汉字、西文字符串等文本内容的隐私数据保护,目前能想到的是用值代替,但是考虑到数据量规模对于数据渲染的影响,您可以在从后端做控制。具体来说,可以在用户调用后端API获取数据时,将数据返回前端前完成隐私数据加密置换;相应地,在前端提交修改后数据时,先完成隐私数据的解码置换,然后提交入库。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-8-29 17:58:40
35#
您好!从跟贴信息了解到您的问题已得到了有效的解决方案,那就结帖了。如有问题,欢迎继续发帖沟通。
回复 使用道具 举报
1234
您需要登录后才可以回帖 登录 | 立即注册
返回顶部