有没有给单元格生成图片的api然后再通过addPicture覆盖到单元格中
addPicture添加的一定是一个浮动的(位置可变的)的图片(图片属于一个shape),而非在某个单元格内部,但是你可以通过startRow/endRow/startColumn/endColumn等方法让其和某个单元格重合。
至于“给单元格生成图片”,我理解是将一个单元格区域转换为图片,我们有区域快照的功能,区域快照也属于一个shape,shape有一个toImageSrc方法,可以将其转换为base64图片,拿到图片后删除该快照即可。
https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Spread.Sheets.Shapes.CameraShape#toimagesrc Matthew.Xue 发表于 2025-1-7 11:47
addPicture添加的一定是一个浮动的(位置可变的)的图片(图片属于一个shape),而非在某个单元格内部, ...
是的 你可以写一个示例看看吗 非常感谢 优米信息 发表于 2025-1-7 12:08
是的 你可以写一个示例看看吗 非常感谢
其实这块的代码量非常小,前面已经给出了具体的实现方案,只需要用代码写出来就好了~
// 添加一些假数据
sheet.setValue(1, 1, 1)
sheet.setValue(1, 2, 2)
sheet.setValue(2, 1, 3)
sheet.setValue(2, 2, 4)
let style = new GC.Spread.Sheets.Style()
style.backColor = "red"
style.fontWeight = "bold"
style.foreColor = "yellow"
sheet.getRange(1, 1, 2, 2).setStyle(style)
// 暂停绘制,防止区域快照出现在页面中
sheet.suspendPaint()
// 添加区域快照
let cameraShape = sheet.shapes.addCameraShape("camerashape1", "Sheet1!B2:C3")
// 拿到区域快照的图像
let imgSrc = cameraShape.toImageSrc()
// 移除区域快照
sheet.shapes.remove("camerashape1")
// 添加图片
let picture = sheet.shapes.addPictureShape("picture1", imgSrc)
// 设置图片的位置和B5:C6重合
picture.startRow(4)
picture.endRow(5)
picture.startColumn(1)
picture.endColumn(2)
sheet.resumePaint()
Matthew.Xue 发表于 2025-1-7 14:33
其实这块的代码量非常小,前面已经给出了具体的实现方案,只需要用代码写出来就好了~
怎么获取区域的引用字符串呢 比如"Sheet1!B2:C3" Matthew.Xue 发表于 2025-1-6 19:27
关于将区域变成可被公式引用,可以参考此api:
https://demo.grapecity.com.cn/spreadjs/help/api/modul ...
报错了
cameraShape.toImageSrc is not a function 优米信息 发表于 2025-1-7 15:34
报错了
cameraShape.toImageSrc is not a function
可能是您的版本过低,请升级到17.1.0之后的版本,您目前应该是已经购买了V17版本,可以直接升级的
页:
1
[2]