当前位置: 移动技术网 > IT编程>开发语言>.net > ASP.NET中实现导出ppt文件数据的实例分享

ASP.NET中实现导出ppt文件数据的实例分享

2017年12月12日  | 移动技术网IT编程  | 我要评论

攀枝花租房信息,我是歌手总决赛名次,八度吧小说网

 前一段时间因工作需要,需增加ppt数据的导出下载。发现网络上这方面资料并不是很多,零零散散地找到一些相关的资料,经过自己的试验,终于完成相关功能。应博友要求,在此分享下我的经验,不好之处还望大家多多指出。

  在做之前,首先需要添加相关引用microsoft.office.interop.powerpoint.dll。

using powerpoint = microsoft.office.interop.powerpoint;

  操作ppt代码如下:

复制代码
 

    public void createppt()
    {
      try
      {
        //ppt存储路径
        string path = string.format("{0}/{1}.ppt", server.mappath("."), datetime.now.ticks.tostring());
        //ppt引用的模版路径
        string mytemplatefile = "d:\\test.pot";
        powerpoint.applicationclass myapp;
        powerpoint.presentations mypresset;
        powerpoint._presentation mypres;
        powerpoint.shape objshape;
        powerpoint.slides objslides;
        powerpoint._slide myslide;
        powerpoint.textrange objtextrng;
        powerpoint.table table = null;
        myapp = new powerpoint.applicationclass();
        //如果已存在,则删除
        if (file.exists((string)path))
        {
          file.delete((string)path);
        }
        object nothing = missing.value;
        //套用模版
        mypres = myapp.presentations.open(mytemplatefile, msotristate.msofalse, msotristate.msofalse, msotristate.msofalse);
        mypresset = myapp.presentations;
        objslides = mypres.slides;

        //创建第一张ppt pplayouttitle指定模板首页
        myslide = objslides.add(1, powerpoint.ppslidelayout.pplayouttitle);
        //添加一行文字(left:10,top:110,width:700,height:400)
        objtextrng = myslide.shapes.addlabel(msotextorientation.msotextorientationhorizontal, 10, 110, 700, 400).textframe.textrange;
        objtextrng.text = " ppt";
        objtextrng.font.color.rgb = 0x66ccff; //设置字的颜色
        objtextrng.font.size = 42; //字号
        
        //创建第二张ppt pplayoutblank指定无标题页
        myslide = objslides.add(2, powerpoint.ppslidelayout.pplayoutblank);
        //插入图片
        myslide.shapes.addpicture("1.jpg", msotristate.msofalse, msotristate.msotrue, 110, 140, 500, 300);
        
        //创建第三张ppt pplayouttitleonly指定仅有标题页
        myslide = objslides.add(3, powerpoint.ppslidelayout.pplayouttitleonly);
        objtextrng = myslide.shapes[1].textframe.textrange;
        objtextrng.text = "目录";
        objtextrng.font.size = 32;
        //插入图片
        myslide.shapes.addpicture("1.jpg", msotristate.msofalse, msotristate.msotrue, 110, 140, 500, 300);
        
        //创建第四张ppt
        myslide = objslides.add(3, powerpoint.ppslidelayout.pplayoutblank);
        //添加一个表格
        objshape = myslide.shapes.addtable(3, 3, 105, 150, 400, 100);
        table = objshape.table;
        for (int i = 1; i <= table.rows.count; i++)
        {
          for (int j = 1; j <= table.columns.count; j++)
          {
            table.cell(i, j).shape.textframe.textrange.font.size = 12;
            table.cell(i, j).shape.textframe.textrange.text = string.format("[{0},{1}]", i, j);
          }
        }
        
        
        //保存格式
        powerpoint.ppsaveasfiletype format = powerpoint.ppsaveasfiletype.ppsaveasdefault;
        //内容保存
        mypres.saveas(path, format, microsoft.office.core.msotristate.msofalse);
        //关闭exceldoc文档对象
        mypres.close();
        //关闭excelapp组件对象
        myapp.quit();
      }

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网