Foxtable(狐表)用户栏目专家坐堂 → [求助]导出excxel时图片太大爆内存了,System.OutOfMemoryException


  共有7047人关注过本帖树形打印复制链接

主题:[求助]导出excxel时图片太大爆内存了,System.OutOfMemoryException

帅哥哟,离线,有人找我吗?
chen3728060
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:388 积分:5098 威望:0 精华:0 注册:2013/11/2 0:01:00
[求助]导出excxel时图片太大爆内存了,System.OutOfMemoryException  发帖心情 Post By:2016/4/28 22:14:00 [显示全部帖子]

我想问下,我有个图片列,当时FTP上传照片时都2m多一张,现在在excel报表的图片列里,用缩放提取图片,

[&照片,0,,100,-1]

照片是能显示,但是实际上我发现它没有压缩到100像素的,只是缩小到100像素而已,然后我1000多个产品,一共1000*2m的图片加载到内存生存excel报表,立刻就爆我内存

 

GDI+ 中发生一般性错误。
引发类型为“System.OutOfMemoryException”的异常。


我想问下,应该如何在导出前把图片压缩了,再导出(我不能去服务器里压缩原文件,我都是些珠宝图,压缩了将来就做不了海报了)?在什么事件里执行压缩放excel里好?有压缩的代码和帮助参考吗?

我的图片列名字就是“照片”,是用FTP存的,非二进制。谢谢


 回到顶部
帅哥哟,离线,有人找我吗?
chen3728060
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:388 积分:5098 威望:0 精华:0 注册:2013/11/2 0:01:00
回复:(大红袍)如果要等比缩放,这样 Dim ...  发帖心情 Post By:2016/4/29 8:40:00 [显示全部帖子]

我想问下,帮助文档里,哪里是写关于图像处理了?好像很分散

 回到顶部
帅哥哟,离线,有人找我吗?
chen3728060
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:388 积分:5098 威望:0 精华:0 注册:2013/11/2 0:01:00
回复:(大红袍)如果要等比缩放,这样 Dim ...  发帖心情 Post By:2016/4/29 8:42:00 [显示全部帖子]

我想是生成excel的时候,生成一个临时的缩略图,再放入excel。

还是老师您觉得,是上传图片时已经生成好缩略图,导出excel就直接获取更好?不过后者的方法,就规定了缩略图尺寸,不能每次生成时根据实际调整分辨率


 回到顶部
帅哥哟,离线,有人找我吗?
chen3728060
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:388 积分:5098 威望:0 精华:0 注册:2013/11/2 0:01:00
回复:(Hyphen)作为缩略图,一般尺寸都是固定的,看...  发帖心情 Post By:2016/4/29 9:16:00 [显示全部帖子]

我想问下关于图片处理(例如缩放、FTP上传下载)的帮助文档的链接是什么?我去学习一下


 回到顶部
帅哥哟,离线,有人找我吗?
chen3728060
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:388 积分:5098 威望:0 精华:0 注册:2013/11/2 0:01:00
回复:(大红袍)以下是引用chen3728060在2016/4/29 8...  发帖心情 Post By:2016/4/29 9:20:00 [显示全部帖子]

我的流程,应该是

①准备生成报表细节时,出发builddetail事件

②在FTP服务器上读取这行对应的图片,生成缩略图

③下载缩略图到本地

④excel模板里设置为直接引用该图片

...下一行....

生成完毕,对吧?

[此贴子已经被作者于2016/4/29 9:21:55编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
chen3728060
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:388 积分:5098 威望:0 精华:0 注册:2013/11/2 0:01:00
回复:(大红袍)以下是引用chen3728060在2016/4/29 8...  发帖心情 Post By:2016/4/29 9:27:00 [显示全部帖子]

应该是先FTP下载图片到本地,然后本地生成缩略图,然后excel在直接引用图片,是吧?

 回到顶部