攀枝花租房信息,我是歌手总决赛名次,八度吧小说网
前一段时间因工作需要,需增加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(); }
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Net Core Web Api项目与在NginX下发布的方法
asp.net core3.1 引用的元包dll版本兼容性问题解决方案
IdentityServer4实现.Net Core API接口权限认证(快速入门)
ASP.NET Core MVC通过IViewLocationExpander扩展视图搜索路径的实现
网友评论