找回密码
 立即注册

QQ登录

只需一步,快速开始

刘先生
初级会员   /  发表于:2023-6-21 16:06  /   查看:2496  /  回复:19
1金币
本帖最后由 Richard.Huang 于 2023-12-13 11:40 编辑

产品:SpreadJS
版本:V16.0.6
问题编号:SJS-19586
LastReview:2023/12/13
该问题将在V17.0.0中得到修复,等待产品发布后可以升级来解决该问题

需求:
1. 可将sheet表导出为图片
2. 可将指定范围复制为图片
目前想到的思路是通过获取到html 再通过canvas转化为图片,请问目前是否已有最佳实现呢

最佳答案

查看完整内容

请查看此demo:区域转图片,可以直接将一个区域转换为图片并放入剪切板,也可以查看图表转图片 记得点击“全屏打开”,否则会因为浏览器对iframe的安全限制导致写入剪切板失败

19 个回复

倒序浏览
最佳答案
最佳答案
xcymoo
葡萄城公司职员   /  发表于:2023-6-21 16:06:34
来自 5#
请查看此demo:区域转图片,可以直接将一个区域转换为图片并放入剪切板,也可以查看图表转图片
记得点击“全屏打开”,否则会因为浏览器对iframe的安全限制导致写入剪切板失败
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-6-21 18:25:33
2#
您好,可以参考一下这个文章看看是不是您想要的效果:

https://demo.grapecity.com.cn/sp ... era-shape#timestamp
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
刘先生
初级会员   /  发表于:2023-6-26 16:13:14
3#
Joestar.Xu 发表于 2023-6-21 18:25
您好,可以参考一下这个文章看看是不是您想要的效果:

https://demo.grapecity.com.cn/spreadjs/SpreadJ ...

您好 照相机功能确实跟我描述的效果一致
但是 我还是想问下 怎么把这个图形能放到剪切板 粘贴到excel外部去呢
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-6-26 18:27:15
4#
您好,照相机不支持外部剪贴板,因为它会随着内容的变化而变化,是一个动态的。

或者您可以参考一下这个Demo,它可以将表格内容转换为图片并保存到本地:https://demo.grapecity.com.cn/sp ... s/index.html?id=291
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
刘先生
初级会员   /  发表于:2023-7-26 17:24:53
6#
xcymoo 发表于 2023-6-21 16:06
请查看此demo:区域转图片,可以直接将一个区域转换为图片并放入剪切板,也可以查看图表转图片
记得点击“ ...

您好 我这边遇到个问题, 麻烦协助看下吧
单独范围复制为图片 和 整表有内容的复制为图片都没问题
但是就是先选择范围复制后 再选择整表有内容的区域时 依然是范围复制的结果
详情见附件的实现

copyToImg.rar

1.74 KB, 下载次数: 71

回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-7-26 18:11:18
7#
刘先生 发表于 2023-7-26 17:24
您好 我这边遇到个问题, 麻烦协助看下吧
单独范围复制为图片 和 整表有内容的复制为图片都没问题
但是 ...

好的,问题已复现,这边调研一下看看是什么原因。
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-7-27 09:41:17
8#
您好,这边测试了一下,建议您使用getUsedRange的接口来实现 复制表格有内容的区域,如:

image.png356264342.png


const { row, rowCount, col, colCount } = sheet.getUsedRange(GC.Spread.Sheets.UsedRangeType.all);
printInfo.rowStart(row);
printInfo.rowEnd(row === -1 ? -1 : row + rowCount - 1);
printInfo.columnStart(col);
printInfo.columnEnd(col === -1 ? -1 : col + colCount - 1);
printInfo.useMax(false);

image.png579956969.png

修改后我这边测试了一下就没有这个问题了。

SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
刘先生
初级会员   /  发表于:2023-7-27 13:58:26
9#
Joestar.Xu 发表于 2023-7-27 09:41
您好,这边测试了一下,建议您使用getUsedRange的接口来实现 复制表格有内容的区域,如:

收到 我们尝试一下!
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2023-7-27 14:01:34
10#
刘先生 发表于 2023-7-27 13:58
收到 我们尝试一下!

后续有问题的话随时追问。
SpreadJS 17.0.8 | GcExcel 7.1.0 已发布~
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部