Excel生成报表之解决方案--插入图片
首先看下代码生成的效果:
插入图表到电子表格中,你可能需要控制图片位置或者大小。从图中不能看出,同一个图片展示出效果不一致,让我们来看下如何设置。
对图片的控制基本上有:
1.只需设置图片在电子表格中开始位置。
2.即需设置图片在电子表格中开始位置,又需要控制图片的缩放比例。
3.需要设置图片在电子表格中的范围。
如何用Acey.Excel代码实现这3个要求:
首先导入命名空间:
using Acey.ExcelX;
using Acey.ExcelX.Drawing;
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。