找回密码
 立即注册

QQ登录

只需一步,快速开始

zypra

论坛元老

8

主题

21

帖子

7132

积分

论坛元老

积分
7132
zypra
论坛元老   /  发表于:2015-11-18 14:43  /   查看:4869  /  回复:5
vb.net,一个c1flexgrid中有一列是显示图片的,现在导出EXCEL无法导出图片,只能导出非图像列,请问怎样才能导出图片?

5 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-11-18 16:08:00
沙发
回复 1楼zypra的帖子

谢谢您的反馈。
C1FlexGrid保存的时候不能保存图片,但是可以通过C1Excel将图片保存。
基本思路是:
1.假设c1flexgrid的第2列是图片列。
2.使用C1Excel做导出。
  1. XLSheet sheet = c1XLBook1.Sheets[0];
复制代码

3.通过GetCellImage方法获取flexgrid的image。

  1. //如果有一列多个image,就使用循环取出。

  2. int width = (int)(((double)sheet.DefaultColumnWidth) * (1.0 / 1440.0) * this._flex.CreateGraphics().DpiY);

  3.             int height = (int)(((double)sheet.DefaultRowHeight) * (1.0 / 1440.0) * this._flex.CreateGraphics().DpiY);

  4.             Bitmap img = new Bitmap(_flex.GetCellImage(1,2), width, height);
复制代码

4.将flexgrid取出的图片赋值给sheet。
  1. sheet[1,2].value=image
复制代码

5.调用c1XLBool.Save方法导出成Image.
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
zypra
论坛元老   /  发表于:2015-11-21 02:20:00
板凳
谢谢,可是,用GetCellImage的方法取得图片,怎样才能判断这个单元格没有图像呢?
Dim MyImage As Image
MyImage = C1FlexGrid1.GetCellImage(I, 4)
怎样才能判断MyImage变量为空呢?谢谢!!!
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-11-23 13:47:00
地板
回复 3楼zypra的帖子

非工作时间论坛无人值守,您的问题将在工作时间被回复。
对于您的问题,如果没有图片GetCellImage的返回值是null。(VB下是Nothing)
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
zypra
论坛元老   /  发表于:2015-11-23 22:48:00
5#
谢谢
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-11-24 09:24:00
6#
回复 5楼zypra的帖子

不用客气。
为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢        
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部