商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Office文档在线编辑的一个实现方法

Office文档在线编辑的一个实现方法

  发布于2026-07-22 阅读(0)

扫一扫,手机访问

从 Office XP 开始,微软就悄悄给 Office 套件加了个“远程协作”的能力——通过 WebDA V 协议(HTTP 的扩展)直接编辑服务器上的文件。这个功能其实一直摆在那里,但真正用起来的人并不多,直到今天回头看,依然觉得它很实用。

拿 IIS 6.0 来说,它原生就支持 WebDA V,在 IIS 管理器的“Web 服务扩展”里就能找到对应的选项。只要把这个扩展启用,再建一个虚拟目录,比如叫 test,里面放一个 Word 文档 a.doc,然后打开 Word,选择“文件 → 打开”,输入这个文档的 URL(比如 http://localhost/test/a.doc),修改一下内容再保存——你会发现,文档已经被直接保存回服务器上了。整个过程就像编辑本地文件一样丝滑。

更进一步的玩法,是在浏览器里通过 Ja vaScript 调用 Word.Application 对象来打开和编辑服务器上的文档。下面是一个典型的代码片段:

wApp = new ActiveXObject("Word.Application.11");
wApp.Visible = true;
wApp.Documents.Open( url );
if( trackRevisions ){ //可以实现痕迹保留呢
    wApp.ActiveDocument.TrackRevisions = true;
    wApp.ActiveDocument.ShowRevisions = false;
}else{
    wApp.ActiveDocument.TrackRevisions = false;
    wApp.ActiveDocument.ShowRevisions = false;
}
wApp.ActiveDocument.Application.UserName= Global_CurrentUserName;

另外,安装 Office 时还会附带一个 ActiveX 组件:Sharepoint.OpenDocuments。用这个组件也能激活 Word 并编辑远程文档,兼容性更好一些。下面是一个封装好的函数:

function Document_Edit2( url )
{
    if( __OpenDocuments == null )
    {
        try{
            __OpenDocuments = new ActiveXObject("SharePoint.OpenDocuments.3"); //for office 2007
        }catch(e){}
        if( __OpenDocuments == null || typeof(__OpenDocuments) == "#ff0000" )
        {
            try{
                __OpenDocuments = new ActiveXObject("SharePoint.OpenDocuments.2"); //for office 2003
            }catch(e){}
        }
        if( __OpenDocuments == null || typeof(__OpenDocuments) == "undefined" )
        {
            alert( "请安装Word(2003或更高版本)" );
            return;
        }
    }
    var result = __OpenDocuments.EditDocument( url , "Word.Document" );
    if( result == false )
    {
        alert( "无法打开文档." );
    }
}

可以看到,基于 IIS 的 WebDA V 支持,实现 Office 文档的在线编辑非常简单。但这里有一个绕不开的问题:文档通常存放在文件系统的目录里,而很多业务系统却把文档存在数据库中。那么,如何让 WebDA V 配合数据库来工作呢?经过大量尝试,找到了解决方案。这部分内容将在下一篇中介绍。

本文转载于:https://www.jb51.net/article/23947.htm 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注