找回密码
 立即注册

QQ登录

只需一步,快速开始

Litt101

注册会员

16

主题

52

帖子

174

积分

注册会员

积分
174
Litt101
注册会员   /  发表于:2024-10-15 09:32  /   查看:351  /  回复:10
1金币
v12针对复制粘贴存在只读单元格的处理方式是粘贴前先把只读单元格记录下来,粘贴后将只读单元格的值和状态还原回去

目前现象:粘贴后把原来单元格的公式内容覆盖了(目前只测试了公式,不确定还有多少单元格内容被覆盖)
期待效果:复制粘贴存在只读单元格的区域,只粘贴非只读单元格的数据,其余的都不粘贴
请问老师,我应该怎么处理?

最佳答案

查看完整内容

您的方案是可行的,如果您需要保留粘贴区域中只读单元格的数值、文本、公式、样式等,可以在粘贴时记录下只读单元格及其内容、样式、公式等,待粘贴完成后再根据记录信息复原只读单元格。 我们在论坛为您找到了一篇介绍粘贴跨越只读单元格的技术博客,您可以参考下: https://gcdn.grapecity.com.cn/showtopic-160671.html

10 个回复

正序浏览
Wilson.Zhang
超级版主   /  发表于:2024-10-24 14:10:23
11#
您好!由于您较长时间未回复,且从跟帖回复中了解到问题已得到有效解答,那就结帖了。如有新问题,欢迎发新帖沟通。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-10-16 17:43:49
10#
Litt101 发表于 2024-10-16 16:02
老师,CellRange的方法太多了,我想问的是有没有方法可以把单元格所有的属性直接还原回去,而不是根据我 ...

大概您想要的是与Worksheet:getCell()对用的Worksheet:setCell()这样的对称操作,但是,很遗憾,并没有类似功能的API。因为没有一键还原的方法,所以,我们也为您提供了Worksheet:getValue()、Worksheet:getStyle()、Worksheet:getFormula()等API分别获取单元格的数据、样式、公式等内容。完成业务操作后,可以通过Worksheet:setValue()、Worksheet:setStyle()、Worksheet:setFormula()等API分别回填只读单元格的原有数据、样式、公式等。

关于相关API,可以参考官网API文档了解详情:
Worksheet:setValue()--https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Spread.Sheets.Worksheet#setvalue
Worksheet:setStyle()--https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Spread.Sheets.Worksheet#setstyle
Worksheet:setFormula()--https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Spread.Sheets.Worksheet#setformula
回复 使用道具 举报
Litt101
注册会员   /  发表于:2024-10-16 16:02:42
9#
Wilson.Zhang 发表于 2024-10-16 14:14
Worksheet:getCell()获取到对应行列索引的单元格的所有信息,其所属类型位CellRange,如下图所示。在回填 ...

老师,CellRange的方法太多了,我想问的是有没有方法可以把单元格所有的属性直接还原回去,而不是根据我们的业务场景去设置单独的属性
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-10-16 14:14:53
8#
Litt101 发表于 2024-10-16 10:10
用 sheet.getCell(6,3) 获取单元格所有的信息,在粘贴后应该用什么方法把这个信息再还原到这个单元格呢老 ...

Worksheet:getCell()获取到对应行列索引的单元格的所有信息,其所属类型位CellRange,如下图所示。在回填时,对只读单元格也是先通过Worksheet:getCell()获取CellRange实例,然后根据保存的CellRange对象数据设置业务场景关心的属性即可。

可以参考官网API文档了解CellRange类型详情:
CellRange--https://demo.grapecity.com.cn/sp ... ad.Sheets.CellRange
回复 使用道具 举报
Litt101
注册会员   /  发表于:2024-10-16 10:10:31
7#
Wilson.Zhang 发表于 2024-10-16 09:21
可以逐项获取,即独立获取单元格数据、样式、公式等;也可以通过Worksheet:getCell()获取单元格,单元格 ...

用 sheet.getCell(6,3) 获取单元格所有的信息,在粘贴后应该用什么方法把这个信息再还原到这个单元格呢老师
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-10-16 09:21:18
6#
Litt101 发表于 2024-10-15 18:13
老师,有什么方法可以获取到整个单元格的内容,包含样式,数据,公式等

可以逐项获取,即独立获取单元格数据、样式、公式等;也可以通过Worksheet:getCell()获取单元格,单元格上保存了上述信息。

可以参考官网API文档了解详情:
Worksheet:getValue()--https://demo.grapecity.com.cn/sp ... .Worksheet#getvalue
Worksheet:getStyle()--https://demo.grapecity.com.cn/sp ... .Worksheet#getstyle
Worksheet:getFormula()--https://demo.grapecity.com.cn/sp ... orksheet#getformula
Worksheet:getCell()--https://demo.grapecity.com.cn/sp ... s.Worksheet#getcell
回复 使用道具 举报
Litt101
注册会员   /  发表于:2024-10-15 18:13:29
5#
Wilson.Zhang 发表于 2024-10-15 17:30
您的方案是可行的,如果您需要保留粘贴区域中只读单元格的数值、文本、公式、样式等,可以在粘贴时记录下 ...

老师,有什么方法可以获取到整个单元格的内容,包含样式,数据,公式等
回复 使用道具 举报
Litt101
注册会员   /  发表于:2024-10-15 13:38:03
3#
Wilson.Zhang 发表于 2024-10-15 12:16
您好!从您提供的问题描述--“粘贴后将只读单元格的值和状态还原回去”,理解您的业务场景中的粘贴区域中包 ...

是的老师,粘贴区域包含只读单元格,希望粘贴后的现象是 非只读单元格只修改单元格的值,而只读单元格包含的内容(包含值,公式,样式等)希望不变
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-10-15 12:16:25
2#
您好!从您提供的问题描述--“粘贴后将只读单元格的值和状态还原回去”,理解您的业务场景中的粘贴区域中包含有只读单元格,您的需求是复制粘贴不改变粘贴区域中的只读单元格的内容吗?需要您详细介绍下业务场景。
回复 使用道具 举报
最佳答案
最佳答案
Wilson.Zhang
超级版主   /  发表于:2024-10-15 09:32:54
来自 4#
Litt101 发表于 2024-10-15 13:38
是的老师,粘贴区域包含只读单元格,希望粘贴后的现象是 非只读单元格只修改单元格的值,而只读单元格包 ...

您的方案是可行的,如果您需要保留粘贴区域中只读单元格的数值、文本、公式、样式等,可以在粘贴时记录下只读单元格及其内容、样式、公式等,待粘贴完成后再根据记录信息复原只读单元格。

我们在论坛为您找到了一篇介绍粘贴跨越只读单元格的技术博客,您可以参考下:
https://gcdn.grapecity.com.cn/showtopic-160671.html
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部