找回密码
 立即注册

QQ登录

只需一步,快速开始

待定红尘
注册会员   /  发表于:2021-12-3 16:43  /   查看:2472  /  回复:8
1金币

最佳答案

查看完整内容

你可以用以下的方式来获取: 1.sheet.shapes.all()获取当前sheet的所有形状返回是一个数组 2.如果该形状是跟单元格完全匹配并随着单元格的大小而同样发生变化的话,可以遍历上面的数组,通过 sheet.shapes.all().startRow() sheet.shapes.all().startColumn() sheet.shapes.all().endRow() sheet.shapes.all().endColumn() 来获取该形状的范围,并跟单元格的索引坐标做匹配,从而找到目标形状对象shape, 3.之后再用shape. ...

8 个回复

倒序浏览
最佳答案
最佳答案
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-12-3 16:43:48
来自 9#
你可以用以下的方式来获取:
1.sheet.shapes.all()获取当前sheet的所有形状返回是一个数组
2.如果该形状是跟单元格完全匹配并随着单元格的大小而同样发生变化的话,可以遍历上面的数组,通过
sheet.shapes.all()[i].startRow()
sheet.shapes.all()[i].startColumn()
sheet.shapes.all()[i].endRow()
sheet.shapes.all()[i].endColumn()
来获取该形状的范围,并跟单元格的索引坐标做匹配,从而找到目标形状对象shape,
3.之后再用shape.name()获取该形状的名称shapename,后面要用到。
4.然后使用
sheet.shapes.remove(shapename)方法来删除对应的形状就行了
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-12-3 16:51:56
2#
你好,请问你描述的“单个单元格的形状”具体是指那种形状呢?请再详细说明或者配合截图说明。
回复 使用道具 举报
待定红尘
注册会员   /  发表于:2021-12-3 16:53:22
3#
image.png175352477.png
回复 使用道具 举报
待定红尘
注册会员   /  发表于:2021-12-3 16:55:29
4#

就是这种的单元格
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-12-3 17:06:10
5#

请问你是指这种下拉列表吗? image.png951962280.png

可以用claer方法清除
sheet.clear(3,1,1,1,GC.Spread.Sheets.SheetArea.viewport,GC.Spread.Sheets.StorageType.style);

这是api
https://demo.grapecity.com.cn/sp ... s.html#.StorageType
回复 使用道具 举报
待定红尘
注册会员   /  发表于:2021-12-3 17:30:37
6#
image.png619444579.png
ctiveSheet.shapes.clear(),这个不是清除所有的形状嘛,我想问有没有清除单个单元格的形状
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-12-3 17:45:08
7#
待定红尘 发表于 2021-12-3 17:30
ctiveSheet.shapes.clear(),这个不是清除所有的形状嘛,我想问有没有清除单个单元格的形状

由这个截图我没看出来形状在哪里。

如果是浮动元素可以用remove去掉
https://demo.grapecity.com.cn/sp ... lection.html#remove

若仍未解决,提供一个能复现问题的demo,我们直接在demo上调试吧。
回复 使用道具 举报
待定红尘
注册会员   /  发表于:2021-12-3 17:47:47
8#
3和4上面的灰色部分就是形状,可不可以通过遍历单元格的形式清除某个单元格的形状
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部