(急需求解)请问: C# winform 如何将指定路径的图片循环放到Excel表格的单元格中!??

我试了网上好多种方法,总是不行,求高手,求答案,小弟在此先谢过了。。... 我试了网上好多种方法,总是不行,求高手,求答案,小弟在此先谢过了。。 展开
 我来答
jack87918
2011-10-15 · TA获得超过2048个赞
知道小有建树答主
回答量:1618
采纳率:100%
帮助的人:1454万
展开全部
方法如下
--------------------------------------
准备工作:下载一个SpreadsheetGear.dll(这是一个专门针对Excel操作设计的类库)
-----------------------------------------
备注:因为就算是在excel中,也没有能够在单元格里面这种情况(而是插入图片后调整大小,放到相同大小的单元格上),所以这段代码的思想是根据excel模板里面你要填充的单元格大小,来循环覆盖到指定位置。
------------------------------------------
代码:
//先引入命名空间
using SpreadsheetGear;

protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
PrintExcel();
}
}

private void PrintExcel()
{
string img1=Server.MapPath(@"images\img1.jpg");
string img2=Server.MapPath(@"images\img2.jpg");
//你的excel模板(可以是空模板,但是需要设置你要填充图片的单元格大小)
//本示例假设你要填充的单元格大小为width:50;height:80 图片大小也为width:50;height:80
//图片竖向排列
string filePath = Server.MapPath(@"file\test.xls");
if (File.Exists(filePath))
{
IWorkbook workbook = Factory.GetWorkbook(filePath);
IWorksheet worksheet = workbook.Worksheets[0];

//AddPicture方法说明:4个参数分别为图片路径,到worksheet左边距离,到worksheet
//上边距离,图片宽度,图片高度
worksheet.Shapes.AddPicture(img1, 0, 0, 50, 80);
worksheet.Shapes.AddPicture(img2, 0, 80, 50, 80);
//这里的思想即为累加到worksheep上边距的大小。根据图片高度80每次增加80的距离
//当然,如果你要实现统一图片的竖向循环显示用for循环就ok了,你应该知道怎么写
workbook.SaveAs(Server.MapPath(@"file\result.xls"),FileFormat.XLS97);
}
}
------------------------------------------------
说明:因为这是一个b/s的范例,你要改成c/s的只需要将部分取文件地址的方法改为c/s来取地址就行了,其它地方没有区别
--------------------------------------------------
敲了这么久,加点分吧,兄弟。。。
追问
前面的兄弟先给了答案,不好意思,我在提问个,你随便回答下,我给你分
许运来
2011-10-14 · 超过21用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:36.3万
展开全部
写入进去啊,我前段时间遇到的是 将文字和图片一起写入excel,最后完美解决了!
在写入文字和图片的excel操作对象必须是同一个!
等下给你找找代码
我这里有一个写好的cs类文件,代码不想贴了,需要的话我发给你!
追问
我QQ是378253487,麻烦发下,谢啦
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式