在网页上预览或embedded存储在Azure Blob中的Excel文档

我想知道是否可以在浏览器中打开存储在Azure Blob帐户中的Excel文件(或任何Office文件),或者更好地embedded在网页上。 有点像预览function,而不是总是提示用户下载文件。 我知道这可以很容易地通过将文件存储在Sharepoint或OneDrive中,并使用它的embeddedfunction,但我试图摆脱那些,因为我们已经实现了blob存储。

我一直在寻找,但大多数的结果只会把我带到Sharepoint / OneDrive。

任何帮助,将不胜感激。 🙂

编辑(2014-07-14)

根据RGregg的build议,我试图创build一个自定义的WOPI主机 ,我认为它完全适合我需要的东西。 但是我想我错过了一些东西。 我无法预览运行。 我总是得到一个“ 服务器找不到 ”的错误。 我尝试用officeapps.live.com/hosting/discoveryreplace针对owa1.wingtip.com的旧发现文件,现在它尽可能地加载Word Online的加载映像,但它被卡在那里。 找不到其他材料,说明如何使其工作,并没有显示任何错误。

我也尝试通过实现所需的GetFileCheckFileInfo方法来创build我自己的(试图简化所有仅仅是基本的东西)。 它成功地检索文件和信息,但我仍然无法与Web应用程序集成。 我想我错过了一大堆东西,但我不能真正弄清楚。 🙁

我认为将后端转换为Office 365或OneDrive要比使Office Blob存储解决scheme适用于Office应用程序更容易,但我认为您需要做的是实现WOPI主机,就像本文中所述: http://code.msdn.microsoft.com/office/Building-an-Office-Web-f98650d6 。 这至less可以让你的Excel Web应用程序可以从你的BLOB存储中加载文件。

我刚刚发现了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> 

它已经在IFrame上提供了某种“打印预览”,因此在创build文档时必须记住分页以获得更漂亮的视图。 它也不需要你有任何谷歌帐户来访问它。

我仍然有一些问题,但:

  1. 安全。 没有必要的帐户=安全性较低。
  2. 不能很好地渲染图表。 我有一个饼图,它看起来像一个完整的圆圈。
  3. 根本不提供filter…
  4. 不像OneDrive的embedded不提供交互性。

但是,这仍然回答这个问题,所以我在这里发布给任何寻找解决scheme的人。 🙂

任何答案仍然是受欢迎的。 🙂