OLE(ObjectLinkingandEmbedding水貔藻疽,对象连接与嵌入),是一种面向对象的技术,利用这种技术可以埒摆缥膂创建复合文档,可以把文字、声音、图像、表格、应用程序等组合在一起。本文将介绍如何将Excel工作表作为OLE对象插入到PPT中。Excel文档如下:
工具/原料
Spire.Office3.9.1
VisualStudio
方法/步骤
1、下载Spire.Office3.9.1,并将其中的Spire.XLS.dll文件和Spire.Presentation.dll文件引用到项目中。
2、将代码放入VisualStudio中:【C#】usingSystem;us坡纠课柩ingSystem.Collecti泠贾高框ons.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSpire.Xls;usingSystem.Drawing;usingSpire.Presentation;usingSpire.Presentation.Drawing;usingSystem.IO;namespaceInsert_OLE_to_PPT{classProgram{staticvoidMain(string[]args){//加载Excel文档Workbookbook=newWorkbook();book.LoadFromFile("Sample.xlsx");//选择单元格范围并将其保存为图像Imageimage=book.Worksheets[0].ToImage(1,1,5,5);//新建一个PowerPoint文档Presentationppt=newPresentation();//插入图像到PowerPoint文档IImageDataoleImage=ppt.Images.Append(image);Rectanglerec=newRectangle(60,60,image.Width,image.Height);using(MemoryStreamms=newMemoryStream()){//将Excel数据保存到流book.SaveToStream(ms);ms.Position=0;//根据Excel数据将OLE对象插入到PowerPoint文档Spire.Presentation.IOleObjectoleObject=ppt.Slides[0].Shapes.AppendOleObject("excel",ms.ToArray(),rec);oleObject.SubstituteImagePictureFillFormat.Picture.EmbedImage=oleImage;oleObject.ProgId="Excel.Sheet.12";}//保存文档ppt.SaveToFile("插入OLE.pptx",Spire.Presentation.FileFormat.Pptx2013);}}}
3、调试并运行代码后,生成的文档如下图所示: