(急需求解)请问: 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来取地址就行了,其它地方没有区别
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式