在Azure Blob中预览或嵌入存储在Excel Blob中的Excel文档

时间:2014-07-07 10:10:48

标签: excel sharepoint azure-storage-blobs onedrive ms-wopi

我想知道是否可以在浏览器中打开存储在Azure Blob帐户上的Excel文件(或任何Office文件),或者更好的是,嵌入在网页上。有点像预览功能,而不是总是提示用户下载文件。我知道这可以通过将文件存储在Sharepoint或OneDrive中并使用它的嵌入功能轻松完成,但我已经尝试避开那些因为我们已经实现了blob存储。

我一直在搜索,但大多数结果只会让我看到Sharepoint / OneDrive。

任何帮助将不胜感激。 :)

修改(2014-07-14)

根据RGregg的建议,我尝试创建一个custom WOPI Host,我认为它完全符合我的需要。但我想我错过了一些东西。我无法运行预览。我总是得到一个" 服务器未找到"错误。我尝试用owa1.wingtip.com替换指向officeapps.live.com/hosting/discovery的旧发现文件,现在它已经到了Word Online的加载图像,但它会卡在那里。无法找到其他材料来说明如何使其发挥作用,并且它不会显示任何错误。

我还尝试通过实现所需的GetFileCheckFileInfo方法来创建我自己的(试图通过简单的基础来简化一切)。它成功地检索了文件和信息,但我仍然无法将其与Web Apps集成。我想我错过了很多东西,但我无法解决这个问题。 :(

2 个答案:

答案 0 :(得分:1)

我认为将后端转换为Office 365或OneDrive更容易,而不是使您的blob存储解决方案与Office应用程序一起使用,但我认为您需要做的是实现WOPI主机,喜欢这篇文章:http://code.msdn.microsoft.com/office/Building-an-Office-Web-f98650d6。这至少可以让您达到Excel Web App可以从blob存储加载文件的程度。

答案 1 :(得分:1)

我刚刚发现了Google Doc Preview。基本上,您只需要一份文档的在线URL并将其附加到:

https://docs.google.com/viewer?url=

并将其放入iframe中。为了完整性:

<iframe src="http://docs.google.com/viewer?url=http://<blobServer>/<filename>&embedded=true" width="600" height="780" style="border: none;"></iframe>

它已经提供了某种&#34;打印预览&#34;在IFrame上,因此在为更漂亮的视图创建文档时必须记住分页。它也不要求您拥有任何谷歌帐户来访问它。

我仍然有一些问题:

  1. 安全。没有必要的帐户=安全性较低。
  2. 不能很好地渲染图表。我有一个饼图,它显示为一个完整的圆圈。
  3. 根本没有渲染过滤器...
  4. 与OneDrive的嵌入不同,它不提供交互性。
  5. 但是,这仍然回答了这个问题,所以我在这里为寻找解决方案的人发帖。 :)

    仍然欢迎任何答案。 :)