找回密码
 立即注册

QQ登录

只需一步,快速开始

Matthew.Xue
超级版主   /  发表于:昨天 11:47
10#
优米信息 发表于 2025-1-7 11:38
有没有给单元格生成图片的api然后再通过addPicture覆盖到单元格中

addPicture添加的一定是一个浮动的(位置可变的)的图片(图片属于一个shape),而非在某个单元格内部,但是你可以通过startRow/endRow/startColumn/endColumn等方法让其和某个单元格重合。
至于“给单元格生成图片”,我理解是将一个单元格区域转换为图片,我们有区域快照的功能,区域快照也属于一个shape,shape有一个toImageSrc方法,可以将其转换为base64图片,拿到图片后删除该快照即可。
https://demo.grapecity.com.cn/sp ... eraShape#toimagesrc
回复 使用道具 举报
优米信息
金牌服务用户   /  发表于:昨天 12:08
11#
Matthew.Xue 发表于 2025-1-7 11:47
addPicture添加的一定是一个浮动的(位置可变的)的图片(图片属于一个shape),而非在某个单元格内部, ...

是的 你可以写一个示例看看吗 非常感谢
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:昨天 14:33
12#
优米信息 发表于 2025-1-7 12:08
是的 你可以写一个示例看看吗 非常感谢

其实这块的代码量非常小,前面已经给出了具体的实现方案,只需要用代码写出来就好了~


  1. // 添加一些假数据
  2. sheet.setValue(1, 1, 1)
  3. sheet.setValue(1, 2, 2)
  4. sheet.setValue(2, 1, 3)
  5. sheet.setValue(2, 2, 4)

  6. let style = new GC.Spread.Sheets.Style()
  7. style.backColor = "red"
  8. style.fontWeight = "bold"
  9. style.foreColor = "yellow"
  10. sheet.getRange(1, 1, 2, 2).setStyle(style)

  11. // 暂停绘制,防止区域快照出现在页面中
  12. sheet.suspendPaint()

  13. // 添加区域快照
  14. let cameraShape = sheet.shapes.addCameraShape("camerashape1", "Sheet1!B2:C3")
  15. // 拿到区域快照的图像
  16. let imgSrc = cameraShape.toImageSrc()
  17. // 移除区域快照
  18. sheet.shapes.remove("camerashape1")
  19. // 添加图片
  20. let picture = sheet.shapes.addPictureShape("picture1", imgSrc)
  21. // 设置图片的位置和B5:C6重合
  22. picture.startRow(4)
  23. picture.endRow(5)
  24. picture.startColumn(1)
  25. picture.endColumn(2)

  26. sheet.resumePaint()
复制代码


回复 使用道具 举报
优米信息
金牌服务用户   /  发表于:昨天 14:57
13#
Matthew.Xue 发表于 2025-1-7 14:33
其实这块的代码量非常小,前面已经给出了具体的实现方案,只需要用代码写出来就好了~

怎么获取区域的引用字符串呢 比如"Sheet1!B2:C3"
回复 使用道具 举报
优米信息
金牌服务用户   /  发表于:昨天 15:34
15#
Matthew.Xue 发表于 2025-1-6 19:27
关于将区域变成可被公式引用,可以参考此api:
https://demo.grapecity.com.cn/spreadjs/help/api/modul ...

报错了
cameraShape.toImageSrc is not a function
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:昨天 16:38
16#
优米信息 发表于 2025-1-7 15:34
报错了
cameraShape.toImageSrc is not a function

可能是您的版本过低,请升级到17.1.0之后的版本,您目前应该是已经购买了V17版本,可以直接升级的
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部