EPPlus批量插入图片到Excel
#region 测试EPPlus插入图片
public static void Createsheel2()
{
WebClient client = new WebClient();
var downloadUrl = FileOperater.GetDownloadUrl("f736cf1950e64400b3ba69001b0b5a1b");
var excelData = client.DownloadData(downloadUrl);
var bytes = client.DownloadData("http://img1.soufunimg.com/message/images/card/tuanproj/201511/2015112703584458_s.jpg");
using (Stream ms = new MemoryStream(excelData))
{
ExcelPackage excel;
try
{
excel = new ExcelPackage(ms);
ExcelWorksheet ws = excel.Workbook.Worksheets[1];
ExcelWorkbook wb = excel.Workbook;
for (int i = 1; i < 7; i++)
{
excel.Workbook.Worksheets.Copy(ws.Name, ws.Name+"_"+i);//复制模板sheet
var drawings = excel.Workbook.Worksheets[i].Drawings;
foreach (ExcelDrawing excelDrawing in drawings)
{
ExcelPicture excelPicture = excelDrawing as ExcelPicture;
var name = excelPicture.Name;
//var aa = excelPicture.Image;
//var cc = excelPicture.ImageFormat;
//excelPicture.Image.Save(imgms, System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
int vSheetCount = excel.Workbook.Worksheets.Count; //获取总Sheet页
for (int i = 1; i <= vSheetCount; i++)
{
ws = excel.Workbook.Worksheets[i];
using (Stream imgms = new MemoryStream(bytes))
{
System.Drawing.Bitmap myimge = new System.Drawing.Bitmap(imgms);
ExcelPicture picture = null;
for (int j = 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.SetPosition(100*j, 100*j);//设置图片的位置
picture.SetSize(250, 220);//设置图片的大小
}
}
}
FileOperater.FileUpdate("f736cf1950e64400b3ba69001b0b5a1b", excel.GetAsByteArray());
}
catch (Exception ex)
{
throw;
}
}
}
#endregion
EPPlus批量插入图片到Excel的更多相关文章
- Python多线程Threading爬取图片,保存本地,openpyxl批量插入图片到Excel表中
之前用过openpyxl库保存数据到Excel文件写入不了,换用xlsxwriter 批量插入图片到Excel表中 1 import os 2 import requests 3 import re ...
- 【VBA】批量插入图片
解决如下问题: 需要批量导入图片到Excel 图片放在一个文件夹中 图片有严格的顺序关系,即按照:共通名_编号的方式命名. 图片格式统一,即均为同一格式. 有两种方式可以插入图片到Excel中,其一为 ...
- POI插入图片至Excel使用固定的长宽
使用POI在Excel里插入图片,如何使插入的图片使用固定的大小?先介绍原有的两种方式: 一种是指定开始和结尾单元格,然后从头画到尾,相当于平铺 还有一种就是仅指定开始的单元格,图片的大小跟这个单元格 ...
- NPOI插入图片到excel指定单元格
先看效果图 下载NPOI组件(2.0以上支持.xlsx和.xls的excel,2.0以下只支持.xls) NPOI下载官网http://npoi.codeplex.com 下载解压,里面有个dotne ...
- 20170813pptVBA批量插入图片
Sub AddSldIn() Dim Pre As Presentation Dim NewSld As Slide Set Pre = Application.ActivePresentation ...
- Excel催化剂开源第40波-Excel插入图片做到极致的效果
不知道是开发人员的自我要求不高还是用户的使用宽容度足够大,在众多Excel插入图片的版本中,都没有考虑到许多的可大幅度提升用户体验的细节处理. Excel催化剂虽然开发水平有限,但也在有限的能力下,尽 ...
- 个人永久性免费-Excel催化剂功能第89波-批量多图片转PDF
前一篇展示了从PDF中提取到有用信息如图片.文本.表格等功能,部分人可能对自己手中的转PDF格式的保护性有所顾虑,此篇从反向角度,提供数据保护作用,让PDF文件的数据保护更彻底,让文本型的PDF文件彻 ...
- 个人永久性免费-Excel催化剂功能第32波-空行空列批量插入和删除
批量操作永远是效率提升的王道,也是Excel用户们最喜欢能够实现的操作虽说有些批量操作不一定合适Excel的最佳实践操作,但万千世界,无奇不有,特别是在国人眼中领导最大的等级森严的职场环境下.Exce ...
- python 向excel 插入图片
这是工作中一个真实的需求. 要做gt excel 表,表中要插入图片. 1.要把图片resize 基本相同的大小. 2.通过一下脚本插入图片到excel #!/usr/bin/env python3 ...
随机推荐
- [leetcode 8] String to Integer
1 题目: Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input ...
- C++数组初始化方法
定义: ]; // array of 10 uninitialized ints 此 new 表达式分配了一个含有 10 个 int 型元素的数组,并返回指向该数组第一个元素的指针,此返回值初始化了指 ...
- charles捕获手机端请求数据
charles是mac os中的一款类似于windows下fiddler的代理软件,个人感觉比fiddler功能强大:通过charles可以实现指定的请求响应.篡改请求内容.延迟请求.捕获手机端请求等 ...
- [翻译]Bitmap的异步加载和缓存
内容概述 [翻译]开发文档:android Bitmap的高效使用 本文内容来自开发文档"Traning > Displaying Bitmaps Efficiently", ...
- Linux Shell脚本编程基础(11)
实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核,不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序.Shel编程语言具有普通编程 ...
- 说一下acad的bug及问题
using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk. ...
- Mac 下查看端口是否被占用
1. lsof -i :8080 2. netstat -anp tcp | grep 8080 3. nc -w 10 -n -z 127.0.0.1 8070-8090
- 漏洞复现-vsftpd-v2.3.4
vsftpd-2.3.4早期版本存在恶意的后门,在钟馗之眼上目前骇客以收到如此的主机,不过很多的服务器都已经被修复过,但总有漏网之鱼,有兴趣的小伙伴不妨去试试 0×01前言: vsftpd-2.3.4 ...
- window.location API
概述 今天被自己鄙视了,竟然不会用window.location.search进行页面传值.现在好好总结下window.location API,记录一下供以后开发时参考,相信对其它人也有用. 页面传 ...
- vue 路由传参的三种基本模式
路由是连接各个页面的桥梁,而参数在其中扮演者异常重要的角色,在一定意义上,决定着两座桥梁是否能够连接成功. 在vue路由中,支持3中传参方式. 场景,点击父组件的li元素跳转到子组件中,并携带参数,便 ...