ASP.NET中实现导出ppt文件数据的实例分享
程序员文章站
2023-12-17 22:28:10
前一段时间因工作需要,需增加ppt数据的导出下载。发现网络上这方面资料并不是很多,零零散散地找到一些相关的资料,经过自己的试验,终于完成相关功能。应博友要求,在此分享下我...
前一段时间因工作需要,需增加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(); }
推荐阅读
-
ASP.NET中实现导出ppt文件数据的实例分享
-
Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法
-
mysql实现从导出数据的sql文件中只导入指定的一个表
-
php导出csv数据在浏览器中输出提供下载或保存到文件的示例_php实例
-
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html_php实例
-
Yii2框架中实现PHPExcel导出Excel文件的方法分享
-
Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法
-
ASP.NET中关于Config文件如何读写的实例分享
-
php实现从数据库导出百万级数据的代码实例(CSV文件)
-
Yii2框架中实现PHPExcel导出Excel文件的方法分享