[ZZ]如何在Web页面上直接打开、编辑、创建Office文档
[作者:kaneboy,来源:博客堂]
有朋友询问如何在Web页面上做到像SharePoint中的效果一样,能直接激活客户端的Word来打开.doc文件,而不是类似直接点击.doc文档链接时Word在IE中被打开那样。想想这个问题应该很多人都会感兴趣,所以干脆写一篇blog来大致描述一下方法。
在安装Office2003以后,有一个ActiveX控件被安装到了系统中,这个控件位于“Program Files\Microsoft Office\OFFICE11\owssupp.dll”。通过这个控件,客户端页面上的JavaScript就可以激活本地的Office软件,来实现打开、编辑Office文档。(另,Office XP应该就已经包含这个ActiveX控件了。)
首先,用Script创建一个本地的对象:
openDocObj = new ActiveXObject("SharePoint.OpenDocuments.2"); // 为了兼容Office XP,可以创建“SharePoint.OpenDocuments.1”
然后,调用openDocObj的相应的方法。比如打开服务器上的一个Office文档:
openDocObj.ViewDocument("http://www.abc.com/documents/sample.doc");
openDocObj对象会根据参数中不同的Office文档类型(.doc、.xls、.ppt)来打开不同的程序(Word、Excel、PowerPoint)。ViewDocument()方法还有一个重载签名,可以让我们手工指定激活哪个程序来打开文档:
openDocObj.ViewDocument("http://www.abc.com/documents/sample.doc", 要激活的程序的ProgID);
那么要打开Office程序在线编辑文件又如何?
openDocObj.EditDocument("http://www.abc.com/documents/sample.doc");
就可以直接激活Word,在Word里面编辑文档,然后直接点击Word里面的保存功能,就可以将文件保存会服务器上了。注意:为了让Word能将编辑后的文档直接保存会服务器,访问Web站点的当前上下文的Windows Identity必须对服务器的相应目录(即“http://www.abc.com/documents”这个虚拟目录所对应的服务器上的物理路径)有相应的写权限,否则保存动作会失败。编辑完成后,EditDocument()会返回一个bool值,来反映编辑操作是否成功。
我们还可以通过打开服务器上的一个文档模版,来创建一个新的文档:
openDocObj.CreateNewDocument("http://www.abc.com/documents/sampleTemplate.dot", "http://www.abc.com/documents/");
就可以使用“http://www.abc.com/documents/sampleTemplate.dot”这个模版来创建一个新的文档,默认新文档的保存地点是“http://www.abc.com/documents/”。创建新文档时使用的程序取决于模版文件的类型(比如.dot模版会对应Word)。新文档的保存同样需要注意权限问题。CreateNewDocument()方法同样会返回一个bool值来反映操作是否成功。
CreateNewDocument()方法的第一个参数,除了可以使用一个模版的地址外,还可以直接指定为希望用来创建新文档的客户端程序的ProgID。
转载于:https://www.cnblogs.com/QuitGame/archive/2005/03/08/114997.html
[ZZ]如何在Web页面上直接打开、编辑、创建Office文档相关推荐
- 如何在Web页面上直接打开、编辑、创建Office文档 (转载)
有朋友询问如何在Web页面上做到像SharePoint中的效果一样,能直接激活客户端的Word来打开.doc文件,而不是类似直接点击.doc文档链接时Word在IE中被打开那样.想想这个问题应该很多人 ...
- web使用openoffice实现在线预览office文档
最近搞web项目,使用框架struts+spring+jpa实现,做到项目里面一个在线预览功能,试过无数的方法,最后得到了一个非常使用的方法,这方法也是我看过多篇博客的出来的,仅限参考. 效果图如下: ...
- pageoffice 骑缝章_pageoffice实现网页打开编辑保存word文档(基于SSM框架)
pageoffice是一款网页集成word.excel...等office工具 并不免费,但可以试用练习 SSM框架搭建过程就省略了 注意:由于谷歌/火狐升级,不支持插件嵌入,建议使用POBrowse ...
- linux上php读取和创建word文档
总结下本人在日常工作中使用php操作word的一些实战. 方法一:利用php com模块.也即利用word提供的本地api,所有只适用于windows系统上. [php] view plaincopy ...
- c#web页面显示弹窗_C#监听IE文档加载完成、弹窗、JS弹窗、页面跳转
这个Demo在早段时间有个网友需要做一个相关方面的软件,我给做出来的.很方面,在JS弹窗监听上耗了不少时间.现在均已解决!请勿用作非法商业用途,该软件产生的后果与作者本人无关,特此声明. 由于需要对H ...
- 基于WEB的Office文档打印——浏览器中静默打印Word文档
web应用开发中,如何集成Office文档打印功能,并不是一个容易实线的问题.现在有了打天下web打印插件,仅以几行JS代码就可以让你将Office打印功能集成到你的Web项目中. 引入PrintWo ...
- python网页提交表单_Html表单——使用python在web页面上显示用户提交的数据
这个例子展示了如何使用Python完成同样的事情--在web页面上显示提交的数据. 环境配置: win10.Anaconda3 问题: 1.在安装Anaconda3的时候出现了很多问题,经建议安装旧版 ...
- 如何把python可视化到前端_python数据可视化的效果如何在web页面中展示_北京可视化股票...
有什么APP可以展示可视化的任务进度 可视化任务进度软件,使用敬业签,具体可视有事项开始时间,进度及人.还有结束时间以及人员处理速等等,更多功能如下: 1.敬业签是一款功能比较全面的桌面便签软件,分为 ...
- java web统计报表_用Java在Web页面上输出统计图 统计报表
用Java在Web页面上输出统计图 河南省焦作水利局 聂春生 在Internet 和Intranet 的应用中,数据库和Web 技术的结合是传统MIS 系统移植到Internet(Intrant) 环 ...
最新文章
- 解决安卓SDK更新dl-ssl.google.com无法连接的方法
- C语言百度翻译API的使用,c语言怎么翻译? 程序怎么运行?
- 基于python + tushare 的股票盯盘脚本
- QueryList 配置curl参数 的文档位置 QueryList抓取https 终于找到了
- 【java】求两个字符串的最长公共子串
- Java数组– java.util.Arrays
- 玩转地图投影公式,通过例题对兰伯特投影与墨卡托投影求取正反解
- CorelDRAW2022新版本序列号 cdrx8安装向导教程
- Web基础配置篇(八): 远程操作工具、命令的介绍、安装及基本使用
- 自动登录QQ邮箱程序代码
- 地下城游戏 骑士拯救公主 | leetcode 174
- Python教程:利用百度API进行批量图片OCR识别
- 美国弗吉尼亚大学计算机科学,弗吉尼亚大学UVa计算机科学Computer Science专业排名第201-250位(2021年THE世界大学商科排名)...
- Linux中awk后面的RS, ORS, FS, OFS 用法
- UPC Haywire(模拟退火 || 随机数法)
- 机器学习一脸懵笔记【05】概率论
- 乘法/积运算和符号(点乘/内积/数量积,叉乘/向量积,矩阵乘法,Hadamard, Kronecker积,卷积)一网打尽
- 408真题-解析-2014年计算机考研真题解析
- 手机查看正在运行的服务
- 如何加密/弄乱C源代码