找回密码
 立即注册

QQ登录

只需一步,快速开始

优米信息

金牌服务用户

6

主题

19

帖子

55

积分

金牌服务用户

积分
55
优米信息
金牌服务用户   /  发表于:2025-1-6 19:27  /   查看:127  /  回复:15
1金币
导出excel的时候如何把浮动对象 也导出来

15 个回复

正序浏览
Matthew.Xue
超级版主   /  发表于:前天 16:38
16#
优米信息 发表于 2025-1-7 15:34
报错了
cameraShape.toImageSrc is not a function

可能是您的版本过低,请升级到17.1.0之后的版本,您目前应该是已经购买了V17版本,可以直接升级的
回复 使用道具 举报
优米信息
金牌服务用户   /  发表于:前天 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
回复 使用道具 举报
优米信息
金牌服务用户   /  发表于:前天 14:57
13#
Matthew.Xue 发表于 2025-1-7 14:33
其实这块的代码量非常小,前面已经给出了具体的实现方案,只需要用代码写出来就好了~

怎么获取区域的引用字符串呢 比如"Sheet1!B2:C3"
回复 使用道具 举报
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()
复制代码


回复 使用道具 举报
优米信息
金牌服务用户   /  发表于:前天 12:08
11#
Matthew.Xue 发表于 2025-1-7 11:47
addPicture添加的一定是一个浮动的(位置可变的)的图片(图片属于一个shape),而非在某个单元格内部, ...

是的 你可以写一个示例看看吗 非常感谢
回复 使用道具 举报
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
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:前天 11:40
9#
优米信息 发表于 2025-1-7 11:30
我用的就是spread里面的原生复选框

可以导出到Excel的是“控件”中的复选框,而不是单元格类型中的复选框,请注意区分哦
image.png523157653.png
image.png514758605.png
回复 使用道具 举报
优米信息
金牌服务用户   /  发表于:前天 11:38
8#
Matthew.Xue 发表于 2025-1-7 10:36
单元格内的复选框和自定义浮动对象一样,也属于SpreadJS特有的功能,excel没有此功能。
Excel中的复选框 ...

有没有给单元格生成图片的api然后再通过addPicture覆盖到单元格中
回复 使用道具 举报
优米信息
金牌服务用户   /  发表于:前天 11:30
7#
Matthew.Xue 发表于 2025-1-7 10:36
单元格内的复选框和自定义浮动对象一样,也属于SpreadJS特有的功能,excel没有此功能。
Excel中的复选框 ...

我用的就是spread里面的原生复选框
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:前天 10:36
6#
优米信息 发表于 2025-1-7 10:15
那为什么spread复选框单元格也无法导出来

单元格内的复选框和自定义浮动对象一样,也属于SpreadJS特有的功能,excel没有此功能。
Excel中的复选框是一个浮动对象,而非单元格内部的。
如果想使用Excel原生复选框,请使用此功能:
image.png132904051.png
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部