首先看下代码生成的效果:
插入图表到电子表格中,你可能需要控制图片位置或者大小。从图中不能看出,同一个图片展示出效果不一致,让我们来看下如何设置。
对图片的控制基本上有:
1.只需设置图片在电子表格中开始位置。
2.即需设置图片在电子表格中开始位置,又需要控制图片的缩放比例。
3.需要设置图片在电子表格中的范围。
如何用Acey.Excel代码实现这3个要求:
首先导入命名空间:
using Acey.ExcelX;
using Acey.ExcelX.Drawing;
/// <summary>
/// 下面例子展示如何插入图片到电子表格中。
/// </summary>
public void Sample()
{
//创建工作薄。
IWorkbook workbook = ExcelxApplication.CreateWorkbook();
//获取指定索引的工作表。
IWorksheet worksheet = workbook.Worksheets[0];
//添加图片名称到电子表格中指定的开始位置。
worksheet.Pictures.Add(2, 2, @"Images\Log.png");
//添加图片名称到电子表格中指定的开始位置并控制图片的缩放比例。
worksheet.Pictures.Add(12, 5, @"Images\Log.png", 52, 49);
//添加图片名称到电子表格中指定的范围。
worksheet.Pictures.Add(3, 8, 10, 12, @"Images\Log.png");
//保存该工作薄为指定类型。
string xlsFile = @"d:\Picture.xls";
workbook.SaveAs(xlsFile, FileFormat.Excel97To2003);
}
其中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 for .NET.chm
更多应用示例请访问官方博客:http://www.cnblogs.com/happyfish78/
更多信息请访问Aceyoffice网站:http://www.aceyoffice.com/