如何在Web页面上直接打开、编辑、创建Office文档_javascript技巧

如何在Web页面上直接打开、编辑、创建Office文档 
有朋友询问如何在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。

时间: 2024-09-15 09:44:15

如何在Web页面上直接打开、编辑、创建Office文档_javascript技巧的相关文章

如何在Web页面上直接打开、编辑、创建Office文档

web|创建|页面 有朋友询问如何在Web页面上做到像SharePoint中的效果一样,能直接激活客户端的Word来打开.doc文件,而不是类似直接点击.doc文档链接时Word在IE中被打开那样.想想这个问题应该很多人都会感兴趣,所以干脆写一篇blog来大致描述一下方法. 在安装Office2003以后,有一个ActiveX控件被安装到了系统中,这个控件位于"Program Files\Microsoft Office\OFFICE11\owssupp.dll".通过这个控件,客户端

Facebook邮箱可直接打开附件内Office文档

北京时间11月17日凌晨消息,Facebook刚刚发布的电子邮件系统整合了微软在线办公软件套装Office Web Apps,可直接打开附件中的Office文档. 分析人士称,Facebook电子邮件系统也许并未对谷歌Gmail构成正面冲击,但这并不意味着谷歌可以高枕无忧.该系统与Office Web Apps进行整合,使Facebook拥有了一套更为完善的商务工具,直接与谷歌企业应用套装Google Apps竞争. 微软IW News Bites博客称:"用户可以在Facebook邮箱内利用O

基于BootStrap Metronic开发框架经验小结【九】实现Web页面内容的打印预览和保存操作_javascript技巧

本篇文章主要介绍如何实现Web页面内容的打印预览和保存操作的相关知识,一起学习吧! 1.Web页面打印的问题 在此之前,我一般使用比较好用的LODOP来执行打印的操作,这个在我之前有很多文章都有涉及,这个控件是一个ActiveX的控件,需要下载安装后就可以在页面是进行打印的排版设计,预览,打印等操作,还是很方便的一个控件,因此都很适合普通内容的打印,证件的套打等操作. 不过随着浏览器技术的更新,这个插件在Chrome或者FireFox上好像不受支持了,基本上摒弃了这种插件的处理方式了.例如如果我

JS自定义函数对web前端上传的文件进行类型大小判断_javascript技巧

废话不多说了直接给大家贴js代码了.具体代码如下所示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <me

JavaScript将Web页面内容导出到Word及Excel的方法_javascript技巧

本文实例讲述了JavaScript将Web页面内容导出到Word及Excel的方法.分享给大家供大家参考.具体实现方法如下: <HTML> <HEAD> <title>WEB页面导出为EXCEL文档的方法 </title> </HEAD> <body> <BR> <table id = "PrintA" width="100%" border="1" cel

ASP.NET 如何在web页面上显示数据库表中的所有图片,求大神。。。。。

问题描述 在数据库表中存入图片的路径,想在页面中分类显示图片,不能预先设定存入图片的数量,所以用Image控件显示不合理,并不会自定义控件,还有没有其他的方法?求大神指点...... 解决方案 解决方案二: 解决方案三:你是指图片平铺展示那种形式吗?解决方案四:控件绑定的话用Repeat,模板里面就放img控件解决方案五: 解决方案六:用Repeat的话,具体是怎样的呢,新手,没用过解决方案七:Repeat跟datagridview还有datalist差不多不过分页和排序我记得是要自己来写的不像

javascript 读取XML数据,在页面中展现、编辑、保存的实现_javascript技巧

首先考虑用什么方法做,考虑到三个方式:1.C#拼HTML构造table,修改和保存通过Ajax实现.2.XML+XSL,展现和修改用两个XSL文件来做,Ajax修改.保存XML.3.GridView控件. 经过细致考虑,首先第三方案GridView控件满足不了需求,因为XML格式多样,可能涉及到很多的行.列合并和行.列表头合并.第一方案太麻烦,坐起来是细致活和体力活,需求变动后不好修改.所以选择第二方案.开始学习XPath.XSLT.AJAX用js异步调用一般处理文件(ashx)的方式. 1.实

Chrome OS系统默认开启Office文档编辑功能

  继在Chrome OS Dev中加入微软Office文档编辑功能之后,近日谷歌将这项原生功能在Chrome OS中默认开启,这项改变意味着Chrome OS用户将可以在谷歌这个基于浏览器的系统中直接编辑微软的Office文档. 这个最新的进展是由开发者兼谷歌Chromium开源传道者François Beaufort首先披露,他从Chromium代码方面揭示了这些变化.他在相关说明中还指出,Chrome OS中使用的技术是基于谷歌在2012年6月收购QuickOffice的,因此在未来Chr

MindManager内嵌浏览器无法编辑超链接的Office文档

  在MindManager思维导图中可以运用内嵌浏览器打开超链接的文档,与Office的兼容性使得可以超链接Office文档,但当出现MindManager内嵌浏览器无法编辑超链接的Office文档时该怎么办呢,本文为您做出解答. 问题描述:当打开超链接的 Office 文档时,例如 Excel, Word 或者 PowerPoint 时, 用户试图编辑文本, 该文件显示一个警告信息提示:该文件是只读文件.用户没有修改该文件的权限. 下列信息显示: Microsoft Excel: 表格中的格