欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C# 添加OLE到PPT幻灯片

程序员文章站 2022-12-09 16:27:48
本文介绍通过C#程序代码来添加OLE对象到PPT幻灯片的方法。这里以将Excel文档为对象插入到PPT幻灯片中的指定位置;添加时,将Excel中的单元格范围保存为图片,将图片以嵌入的方式添加到幻灯片,添加成功后,可通过双击图片来编辑、打开等动作对Excel源文档进行操作。 使用工具:Free Spi ......

本文介绍通过c#程序代码来添加ole对象到ppt幻灯片的方法。这里以将excel文档为对象插入到ppt幻灯片中的指定位置;添加时,将excel中的单元格范围保存为图片,将图片以嵌入的方式添加到幻灯片,添加成功后,可通过双击图片来编辑、打开等动作对excel源文档进行操作。

使用工具:free spire.office for .net(免费版)

获取及添加引用:通过官网下载包。下载后,解压安装到指定路径。完成安装后,将安装路径下bin文件夹中的spire.xls.dll和spire.presentation.dll添加引用到vs程序。如下引用效果:

C# 添加OLE到PPT幻灯片

 

c# 代码

using spire.xls;
using spire.presentation;
using system.drawing;
using spire.presentation.drawing;
using system.io;

namespace addole
{
    class program
    {
        static void main(string[] args)
        {
            //加载excel文档
            workbook book = new workbook();
            book.loadfromfile("workbook.xlsx");

            //选择单元格范围并将其保存为图像
            image image = book.worksheets[0].toimage(1, 1, 4, 3);

            //新建一个powerpoint文档
            presentation ppt = new presentation();

            //插入图像到powerpoint文档
            iimagedata oleimage = ppt.images.append(image);
            rectangle rec = new rectangle(60, 60, image.width, image.height);

            using (memorystream ms = new memorystream())
            {
                //将excel数据保存到流
                book.savetostream(ms);
                ms.position = 0;

                //将ole对象插入到ppt中的第1张幻灯片
                spire.presentation.ioleobject oleobject = ppt.slides[0].shapes.appendoleobject("excel", ms.toarray(), rec);
                oleobject.substituteimagepicturefillformat.picture.embedimage = oleimage;
                oleobject.progid = "excel.sheet.12";
            }

            //保存文档
            ppt.savetofile("addole.pptx", spire.presentation.fileformat.pptx2013);
            system.diagnostics.process.start("addole.pptx");
        }
    }
}

ole添加效果:

C# 添加OLE到PPT幻灯片