Excel生成报表之解决方案--插入图片

首先看下代码生成的效果:

插入图表到电子表格中,你可能需要控制图片位置或者大小。从图中不能看出,同一个图片展示出效果不一致,让我们来看下如何设置。

对图片的控制基本上有:

1.只需设置图片在电子表格中开始位置。

2.即需设置图片在电子表格中开始位置,又需要控制图片的缩放比例。

3.需要设置图片在电子表格中的范围。

如何用Acey.Excel代码实现这3个要求:

首先导入命名空间:

using Acey.ExcelX;
using Acey.ExcelX.Drawing;

View Code
 1         /// <summary>
 2         /// 下面例子展示如何插入图片到电子表格中。
 3      /// </summary>
 4         public void Sample()
 5         {
 6             //创建工作薄。
 7         IWorkbook workbook = ExcelxApplication.CreateWorkbook();
 8             //获取指定索引的工作表。
 9         IWorksheet worksheet = workbook.Worksheets[0];
10 
11             //添加图片名称到电子表格中指定的开始位置。
12          worksheet.Pictures.Add(2, 2, @"Images\Log.png");
13 
14             //添加图片名称到电子表格中指定的开始位置并控制图片的缩放比例。
15         worksheet.Pictures.Add(12, 5, @"Images\Log.png", 52, 49);
16 
17             //添加图片名称到电子表格中指定的范围。
18         worksheet.Pictures.Add(3, 8, 10, 12, @"Images\Log.png");
19 
20             //保存该工作薄为指定类型。
21             string xlsFile = @"d:\Picture.xls";
22             workbook.SaveAs(xlsFile, FileFormat.Excel97To2003);
23         }

其中using Acey.ExcelX命名空间满足对电子表格基本场景的使用,Acey.ExcelX.Drawing命名空间对图形的操作。
1.如何设置图片插入到电子表格中开始位置

其中worksheet.Pictures.Add(2, 2, @"Images\Log.png");(第一个参数:电子表格中开始行索引,第二个参数:电子表格中开始列索引,第三个参数要插入的图片名称。),如确定电子表格中开始行和列索引,就能确定该图片的开始位置。

2.如何即需设置图片在电子表格中开始位置,又需要控制图片的缩放比例。

其中worksheet.Pictures.Add(12, 5, @"Images\Log.png", 52, 49);(第1个参数:电子表格中开始行索引,第2个参数:电子表格中开始列索引,第3个参数要插入的图片名称,第4个参数:

宽度缩放比例,第5个参数:高度缩放比例)。这个方法即设置图片在电子表格中开始位置,又设置图片缩放比例)。

3.如何设置图片在电子表格中的范围。

其中worksheet.Pictures.Add(3, 8, 10, 12, @"Images\Log.png");(其中第1个参数:电子表格中开始行索引,第2个参数:电子表格中开始列索引,第3个参数结束行索引,第4个参数结束列索引, 第5个参数要插入的图片名称).

开始行和列索引,和结束行和列索引确定图片在表格中的范围。

 

只需要3个简单重载就能轻松实现不同展示效果。

 

总结

无需安装微软Excel,用代码也能很轻松实现添加图片的效果。 下载最新版本到www.aceyoffice.com。如果您想对Acey.ExcelX有进一步了解,在网站下载帮助和Demo。 

 

posted @ 2012-11-21 13:13  AceyOffice  阅读(657)  评论(0编辑  收藏  举报