[转] 从数据库中读取图片并导入Excel文件,C#方式

简介:

原文地址, 作者 Lvyou1980

直接源码吧。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
using  System;
using  System.IO;
using  System.Data;
using  System.Drawing;
using  System.Drawing.Imaging;
using  System.Windows.Forms;
using  Excel;
 
private  void  EduceExcel()
  {
   string  picPath=Directory.GetCurrentDirectory()+ '\\Excelpic.jpg' ;
   string  ExcelName=Directory.GetCurrentDirectory()+ '\\ExcelModul.xls' ;
   string  fileName =  'Excel' +DateTime.Now.ToString().Replace( ':' '' ) +  '.xls' ;
   Excel.Application app = new  Excel.Application(); //建立Excel对象
    app.Visible= true ; //让Excel文件可见
    Workbook objbook;
    objbook = app.Workbooks.Add(ExcelName);
    Worksheet worksheet;
    worksheet =(Worksheet)objbook.Worksheets[1];
    Excel.Pictures pics=(Excel.Pictures)worksheet.Pictures(Type.Missing); //建立图片集合对象
 
    int  TD=1;
    int  p=1;
    PicItemColletion picItems= PicItem.Getpictems(); //读取数据库图片数据集合
     foreach (PicItem PI  in  picItems)
     {
      if (PI.ImageData !=  null )
      {
      MemoryStream stream =  new  MemoryStream(PI.ImageData, 0, PI.ImageData.Length);
      
      Bitmap bitmap =  new  Bitmap(stream);
 
      bitmap.Save(picPath,System.Drawing.Imaging.ImageFormat.Jpeg); //保存临时图片文件到硬盘里
       if (File.Exists(picPath))
       {
       stream.Close(); //关闭图像文件流
 
      Range range_1 =range=worksheet.get_Range( 'A' +TD.ToString(), 'A' +TD.ToString());
      //获取填充单元格范围
              
       pics.Insert(picPath,Type.Missing); //获取图片
 
       Excel.Picture pic = (Excel.Picture )pics.Item(p); //建立图片集合某一图片对象
 
        pic.Left = ( double )range_1.Left;
        pic.Top = ( double )range_1.Top;
        pic.Height =( double )range_1.Height;
        pic.Width =( double )range_1.Width;
        TD=TD+1;
        p=p+1;
       }
     }
 
    if (File.Exists(picPath))
    {
     File.Delete(picPath); //删除图片
    }
  }

 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。





    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/5781803.html ,如需转载请自行联系原作者

相关文章
|
Web App开发 编解码 安全
在高版本谷歌Chrome浏览器中用VLC播放海康、大华RTSP实时视频完全方案
随着互联网基础设施的完善以及4G、5G等技术的大规模商用,在Chrome、Firefox、Edge等浏览器播放RTSP视频流也慢慢成为了信息化系统的行业标准。早些年还可用VLC播放器在网页中播放RTSP视频流,好景不长,2015年Chrome、Firefox等浏览器取消了对 NPAPI插件的支持,导致在高版本的Chrome等网页中播放海康威视、大华等摄像头RTSP视频流也成了奢望。
3138 0
EMQ
|
物联网 Linux C语言
在 Windows 平台搭建 MQTT 服务
NanoMQ 有着强大的跨平台和可兼容能力,不仅可以用于以 Linux 为基础的各类平台,也为 Windows 平台提供了 MQTT 服务的新选择。
EMQ
459 82
在 Windows 平台搭建 MQTT 服务
|
流计算 计算机视觉 索引
使用ffmpeg将视频转成HLS(m3u8)格式
HLS (HTTP Live Streaming)是苹果推出的视频流协议,HLS格式的视频包含一个m3u8文本文件,以及众多的.ts的视频片段,而m3u8文本文件的作用就是将这些ts片段索引起来。 因为HLS协议是将视频切分成很多小的ts片段,这些小片段很适合放到cdn上,有很多视频文章都使用了hls格式传输视频。今天我在这里教大家如何用ffmpeg将mp4格式的视频转为HLS(m3u8)格式。
1288 0
|
网络协议
深入理解TCP作为面向字节流协议的工作原理
深入理解TCP作为面向字节流协议的工作原理
524 1
|
存储 Java API
开源对象存储服务(MinIO),正在备受欢迎!
本文介绍了MinIO,一个高性能、开源的对象存储服务器,兼容Amazon S3 API,适合存储大量非结构化数据。文章详细讲解了MinIO在Java中的使用方法,包括添加依赖、初始化客户端、基本操作(创建桶、上传/下载/删除对象)和高级功能(设置桶策略、使用预签名URL),并提供了Spring Boot集成MinIO的示例。
1290 4
|
物联网 C# Windows
看看如何使用 C# 代码让 MQTT 进行完美通信
看看如何使用 C# 代码让 MQTT 进行完美通信
1826 0
|
存储 自然语言处理 API
基于 Python 的地址解析:自动识别姓名、电话、地址、详细地址与省市区
基于 Python 的地址解析:自动识别姓名、电话、地址、详细地址与省市区
2450 1
|
存储 固态存储 安全
阿里云服务器香港地域租用收费标准参考
阿里云有香港云服务器吗?当然是有的,香港地域云服务器即可满足外贸型企业用户需求,也可以满足部分国内用户的需求,本文为大家展示2024年阿里云服务器香港地域的最新收费标准,以供参考。
阿里云服务器香港地域租用收费标准参考
|
网络协议 API 开发者
无线通信模块通过TCP/IP协议实现与PC端的数据传输
本文介绍了无线通信模块借助TCP/IP协议向PC端传输数据的过程,包括数据封装、发送和接收,并以WIFI模块为例,讨论了在QT平台下实现无线数据传输的方法。通过QTcpSocket类,开发者能轻松建立WIFI模块与PC间的连接。随着无线通信技术的进步,未来将有更多创新应用出现。
393 2
|
移动开发 HTML5
HTML5播放 M3U8的hls流地址
HTML5播放 M3U8的hls流地址
535 0