各位高手,請問我如何可以在我的asp.net上直接打開服務器上的office文檔進行編輯保存呢??網上找了,好多人說使用dsoframe.ocx這個東西,但是不會用.
急救!!!!!
3Q!

解决方案 »

  1.   

    对,要好好研究一下WORD接口,有点复杂,但是功能很强大,非常灵活
      

  2.   

    在线编辑word文档 可保存到服务器
    使用说明:该方法只在office xp 和 2003上 测试通过,2000及以下 版本没试。
    注意:你要打开的服务器端的word文档要有写权限。iis要开起 web服务扩展中的webdav为允许
    具体参考文档msdn:http://msdn2.microsoft.com/en-us/library/ms454230.aspx
    原理:通过 javascript 创建一个ActiveX控件实例(为浏览者机器Program Files\Microsoft Office\OFFICE11\owssupp.dll或Program Files\Microsoft Office\OFFICE10\owssupp.dll)就可以激活本地的Office软件,来实现打开、编辑Office文档
    首先,用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。 Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1572382
      

  3.   


     <script type="text/javascript">
            openDocObj = new ActiveXObject("SharePoint.OpenDocuments.1"); // 为了兼容Office XP,可以创建“SharePoint.OpenDocuments.1” 
        </script>        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="查  看" />
            <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="编  辑" />
    protected void Button1_Click(object sender, EventArgs e)
        {
            ClientScript.RegisterStartupScript(this.GetType(), "", "openDocObj.ViewDocument('http://192.168.1.104/Test/1.doc');", true);
        }    protected void Button2_Click(object sender, EventArgs e)
        {
            ClientScript.RegisterStartupScript(this.GetType(), "", "openDocObj.EditDocument('http://192.168.1.104/Test/1.doc');", true);
        }
      

  4.   

    樓上的,不知是那裏弄錯了我在javascript創建這個對象時,就有問題.執行不下
    openDocObj = new ActiveXObject("SharePoint.OpenDocuments.2");
      

  5.   

    http://topic.csdn.net/u/20090511/23/9515b5b1-a1f9-41d9-b7a4-369aa95ce08c.html
      

  6.   

    什么都没有是什么意思?能截图吗?
    有可能是因为你的IE安全权限问题,设置权限ActiveX类别下的一些项,默认有一些是禁止的。
      

  7.   

    正常想要就是點擊後能顯示一個word頁面,現在點擊了,沒這東西啊
      

  8.   

    dsoframe.ocx 需要注册。并且降低你的IE安全设置。启用ACTIVEX控件。 这个很难用,很多机器用不了
      

  9.   

    ·双线主机 100M/35元/年,免费送数据库(自选MY/MSSQL) 
    ·详情请访问:http://www.515dns.com 
      

  10.   

    這是網站要加的一個功能,有什麽好辦法沒??高手????
    the word file,excel or powerpoint file can be edit directly by clicking the link.
    the user no need to download and upload.
    after edit the file,the system will update the content in the file automatically.
      

  11.   

    楼上的各位自然是贡献了一些方法,但是请楼主注意微软官方对于此类的问题已经有了很好的解答,http://support.microsoft.com/kb/257757假如你确实是计划在服务器端做Office自动化,那么请考虑一下你的处境,毕竟这样做是微软不推荐,也不给予技术支持的情况。由于文中已经给出了很多供你考虑的其他方式,请仔细研究。