找回密码
 立即注册

QQ登录

只需一步,快速开始

jiankeyan
中级会员   /  发表于:2023-1-12 14:55  /   查看:1487  /  回复:1
1金币
spreadjs是可以设置图片远程地址的,比如:

image.png59457701.png
请问:用GCExcel.net插入图片的话,应该怎么插入这种远程地址的图片?

最佳答案

查看完整内容

没有办法,GCExcel在功能就无法支持,这块实际上主要考虑的是一个版权问题。spreadjs本身是一个前端组件,所以一个图片url只是把它展示了出来,但是gcexcel的话,要支持必然是需要下载图片的 但是,如果你的spreadjs导出的json文件中,有图片url,GCExcel是提供了接口可以读取的。你可以拿到后自己获取成图片数据。然后给gcexcel设置即可,这里的GetPictureFromUrl函数需要你自己来写,其实就是通过webclient或者其他的方式把这 ...

1 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-1-12 14:55:40
来自 2#
没有办法,GCExcel在功能就无法支持,这块实际上主要考虑的是一个版权问题。spreadjs本身是一个前端组件,所以一个图片url只是把它展示了出来,但是gcexcel的话,要支持必然是需要下载图片的

但是,如果你的spreadjs导出的json文件中,有图片url,GCExcel是提供了接口可以读取的。你可以拿到后自己获取成图片数据。然后给gcexcel设置即可,这里的GetPictureFromUrl函数需要你自己来写,其实就是通过webclient或者其他的方式把这个图片下载下来就行

  1. var pic = workbook.ActiveSheet.Shapes[0];
  2.     string url = pic.PictureFormat.Url;
  3.     byte[] picByte = GetPictureFromUrl(url);
  4.     pic.PictureFormat.Fill = picByte;
复制代码



下面是供参考的一个简单的下载图片的代码
  1. private static byte[] GetPictureFromUrl(string url)
  2.         {
  3.             WebClient wc = new WebClient();
  4.             byte[] imageBytes = wc.DownloadData(url);
  5.             return imageBytes;
  6.         }
复制代码

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部