【问题标题】:Simulate retrieving Excel file from Sharepoint模拟从 Sharepoint 检索 Excel 文件
【发布时间】:2010-10-22 04:00:02
【问题描述】:

当我打开存储在 Sharepoint 上的 Excel 文件时,我可以选择以只读方式或以编辑模式打开它。如果我以只读方式打开它,Excel 会打开,我会看到“服务器工作簿要修改此工作簿,请单击编辑工作簿”。我需要通过 ASP.NET 应用程序检索此 Excel 文件,但仍具有此服务器工作簿功能。

在提琴手中,我看到在 Sharepoint 中打开时,会向 SharepointSite/_vti_bin/_vti_aut/author.dll 发出 POST,其中 method=getdocument 作为发送的参数之一,文件名作为另一个参数。

我需要通过 ajax 调用重复该 POST 还是有更简单的方法(我怀疑有)?

【问题讨论】:

    标签: asp.net sharepoint excel sharepoint-2007


    【解决方案1】:

    在查看this post 并发现他只是按照javascript 调用函数editDocumentWithProgID2 之后,我几乎就做了那件事。我刚刚从那个函数切换到 ViewDoc javascript 函数。

    <a onclick="javascript: ViewDoc('http://mysite/myfile.xlsx', 'SharePoint.OpenDocuments');"...
    

    这要求我在我的页面上添加指向 Sharepoint javascript 文件 Core.js 的链接:

    <script src='http://mysite/_layouts/1033/core.js' type="text/javascript"
            language="javascript"></script>
    

    现在点击链接后,电子表格会弹出,并带有“服务器工作簿”和“编辑工作簿”按钮

    我真的不建议任何人复制它,因为它非常脆弱,如果/当我们升级到 Sharepoint 2010 时会损坏,而且它结合了 ASP.NET 和 Sharepoint 站点。然而,它完成了我们现在需要的工作。

    【讨论】:

      【解决方案2】:

      与其模拟将来可能会中断的浏览器功能,不如使用共享点对象模型或共享点 Web 服务来检索文件。

      如果这是您所指的,您可以将列表 web 服务用于您的签入/签出功能。 http://msdn.microsoft.com/en-us/library/lists.lists_members%28v=office.12%29.aspx

      除非我误解了你的问题。

      【讨论】:

      • 我明白你的观点,它在未来会中断,但我不确定如何使用列表 web 服务重现该功能。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多