如何读取EXCEL文件中的图片?

如何读取EXCEL文件中的图片?

下午写了半天的文章因为CSDNBLOG又出问题而报废了,这里出问题的次数也太多了点,靠!
现在没有心情再重写一次,所以就简单点说下算了,实在抱歉。

一、概述

因为使用ado或者ado.net只能读取excel中的文本数据(包括可以转换为文本的数据),所以不能使用数据库访问的方式来读取图片了。本文讲述了怎样通过引用office中的excel,然后通过excel来读取图片的过程。

二、实现过程

1.将类型库转换成.net类库
在控制台下,使用tlbimp工具可以达到目的,请执行命令:tlbimp excel9.olb。将得到3个类库文件:excel.dlloffice.dllvbide.dll,其中我们必须引用excel.dll

2.在项目中引用excel.dll文件,将会多出一个叫Excel的命名空间,我们需要用到里面的类有:
Application
Workbooks
Range

三、源代码

下面假设桌面上存在文件test.xls,并且第2行第2列所在单元格包含有图片。

        //引用Excel命名空间
        using Excel;
        //......
        //
下面从test.xls中的2,2格复制图片到剪贴板,然后从剪贴板读取图片并显示到pictureBox1中。
        private void btnGetImageFromExcel_Click(object sender, EventArgs e)
        {
            //
初始化excel对象
            Excel.Application excel = new Excel.Application();
            //
打开xls文件(注意:后面的参数都用Type.Missing填充,表示使用参数的默认值)
            excel.Workbooks.Open(@"D:/Documents and Settings/xrwang/
桌面/test.xls", System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing);
            //
选定到第2行第2列所在的单元格
            Range r = (Range)excel.Cells[2, 2];
            r.Select();
            //
将单元格复制到剪贴板中
            r.CopyPicture(XlPictureAppearance.xlScreen, XlCopyPictureFormat.xlBitmap);
            //
退出excel
            excel.Quit();
            //
判断剪贴板中是否存在图片,如果存在,则将图片显示到pictureBox1
            if (Clipboard.ContainsImage())
            {
                Image image=Clipboard.GetImage();
                pictureBox1.Image = image;
            }
        }

感谢您看完本文,希望对您有所帮助。

再次发牢骚:这里的 blog 也太差了,动不动就挂掉!!!!浪费别人的时间就是谋杀!!!!!!
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值