一种批量插入图片到Excel的方法技术

技术编号:23605236 阅读:36 留言:0更新日期:2020-03-28 06:11
本发明专利技术涉及Web应用与开发技术领域,具体涉及一种批量插入图片到Excel的方法。本发明专利技术所述的方法包含以下几个步骤:1、读取Excel文件数据;2、读取将要插入的图片数据;3、加载Excel数据到内并循环Excel工作表;4、转换插入图片为数据流并创建图片画布;5、循环所有图片并设置图片位置写入Excel工作表中;6、保存并输出插入图片后Excel文件。本发明专利技术解决了自动快速批量插入图片到Excel文件的问题,可广泛应用于WEB应用与开发中。

A method of inserting pictures into excel in batch

【技术实现步骤摘要】
一种批量插入图片到Excel的方法
本专利技术涉及Web应用与开发
,具体涉及一种批量插入图片到Excel的方法。
技术介绍
MicrosoftExcel是Microsoft为使用Windows和AppleMacintosh操作系统的电脑编写的一款电子表格软件,拥有直观的界面、出色的计算功能和图表工具。图片是指由图形、图像等构成的平面媒体。图片的格式很多,但总体上可以分为点阵图和矢量图两大类,我们常用BMP、JPG等格式都是点阵图形,而SWF、CDR、AI等格式的图形属于矢量图形。通常情况下Excel中插入图片,需要人工干预,若大批量操作,人工工作量大,效率很低。本专利技术通过数学与统计学方法,根据一定的算法,通过计算机程序处理快速并批量插入图片到Excel中,解决了人工操作Excel插入图片效率低,工作量的问题,可广泛应用于WEB应用与开发过程中。
技术实现思路
本专利技术解决的技术问题在于提供一种批量插入图片到Excel的方法;解决了人工操作Excel插入图片效率低,工作量的问题。本专利技术解决上述技术问题的技术方案是:所述的方法包含以下几个步骤:步骤一、读取Excel文件数据;步骤二、读取将要插入的图片数据;步骤三、加载Excel数据到内并循环Excel工作表;步骤四、转换插入图片为数据流并创建图片画布;步骤五、循环所有图片并设置图片位置写入Excel工作表中;步骤六、保存并输出插入图片后Excel文件。<br>所述的批量插入图片到Excel的方法,步骤一中,创建文件对象,根据路径加载Excel文件并打开,转换Excel文件为文件流并保存在内存中。所述的步骤二中,磁盘中选择要插入的图片,可批量选择多个,读取图片数据并转换成对象保存在集合中。所述的步骤三中,加载Excel文件数据到内存中,读取所有工作表对象,并循环所有工作表。所述的步骤四中,转换所有插入图片为数据流并加载到内存中,根据图片流创建图片对象。所述的步骤五中,循环所有工作表和所有插入的图片对象,设置插入图片的位置和图片的大小,将图片写入Excel工作表中。所述的步骤六中,完成步骤五中图片写入的工作,将写入图片后的Excel文件对象转换成Bit对象,并调用文件更新方法更新,保存并输出插入图片后Excel文件。本专利技术解决了人工操作Excel插入图片效率低,工作量的问题,可广泛应用于WEB应用和开发过程中。附图说明下面结合附图对本专利技术进一步说明:图1是本专利技术方法流程图。具体实施方式如图1所示,本专利技术具体包含以下几个步骤:步骤一、读取Excel文件数据;步骤二、读取将要插入的图片数据;步骤三、加载Excel数据到内并循环Excel工作表;步骤四、转换插入图片为数据流并创建图片画布;步骤五、循环所有图片并设置图片位置写入Excel工作表中;步骤六、保存并输出插入图片后Excel文件。所述的步骤一中,创建文件对象,根据路径加载Excel文件并打开,转换Excel文件为文件流并保存在内存中。WebClientclient=newWebClient();vardownloadUrl=FileOperater.GetDownloadUrl("1b0b5a1b.xls");varexcelData=client.DownloadData(downloadUrl);所述的步骤二中,磁盘中选择要插入的图片,可批量选择多个,读取图片数据并转换成对象保存在集合中。所述的步骤三中,加载Excel文件数据到内存中,读取所有工作表对象,并循环所有工作表。using(Streamms=newMemoryStream(excelData)){ExcelPackageexcel=excel=newExcelPackage(ms);ExcelWorksheetws=excel.Workbook.Worksheets[1];ExcelWorkbookwb=excel.Workbook;}所述的步骤四中,转换所有插入图片为数据流并加载到内存中,根据图片流创建图片对象。varbytes=client.DownloadData("xxxx/2084458_s.jpg");Streamimgms=newMemoryStream(bytes);所述的步骤五中,循环所有工作表和所有插入的图片对象,设置插入图片的位置和图片的大小,将图片写入Excel工作表中。intvSheetCount=excel.Workbook.Worksheets.Count;for(inti=1;i<=vSheetCount;i++){ws=excel.Workbook.Worksheets[i];using(Streamimgms=newMemoryStream(bytes)){System.Drawing.Bitmapmyimge=newSystem.Drawing.Bitmap(imgms);ExcelPicturepicture=null;for(intj=0;j<4;j++){picture=ws.Drawings.AddPicture("a"+j,myimge);//插入图片if(j>1){picture.SetPosition(560,250*(j-2)+(j-1)*40);/}else{picture.SetPosition(330,250*j+(j+1)*40);}picture.SetSize(250,220);}}}所述的步骤六中,完成步骤五中图片写入的工作,将写入图片后的Excel文件对象转换成Bit对象,并调用文件更新方法更新,保存并输出插入图片后Excel文件;FileOperater.FileUpdate("xxx.xls",excel.GetAsByteArray())。本文档来自技高网...

【技术保护点】
1.一种批量插入图片到Excel的方法,其特征在于:所述的方法包含以下几个步骤:/n步骤一、读取Excel文件数据;/n步骤二、读取将要插入的图片数据;/n步骤三、加载Excel数据到内并循环Excel工作表;/n步骤四、转换插入图片为数据流并创建图片画布;/n步骤五、循环所有图片并设置图片位置写入Excel工作表中;/n步骤六、保存并输出插入图片后Excel文件。/n

【技术特征摘要】
1.一种批量插入图片到Excel的方法,其特征在于:所述的方法包含以下几个步骤:
步骤一、读取Excel文件数据;
步骤二、读取将要插入的图片数据;
步骤三、加载Excel数据到内并循环Excel工作表;
步骤四、转换插入图片为数据流并创建图片画布;
步骤五、循环所有图片并设置图片位置写入Excel工作表中;
步骤六、保存并输出插入图片后Excel文件。


2.根据权利要求1所述的一种批量插入图片到Excel的方法,其特征在于:所述的步骤一中,创建文件对象,根据路径加载Excel文件并打开,转换Excel文件为文件流并保存在内存中。


3.根据权利要求1所述的一种批量插入图片到Excel的方法,其特征在于:所述的步骤二中,磁盘中选择要插入的图片,可批量选择多个,读取图片数据并转换成对象保存在集合中。

...

【专利技术属性】
技术研发人员:丁继锋张来卿庞严冬
申请(专利权)人:珠海横琴盛达兆业科技投资有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1