Excel数据访问

我正试图devise一个访问Excel 2010(和以前的版本)中的数据的解决scheme。 一些高层次的要求/限制如下:

  • 数据存储在数据库中。
  • 用户不能直接连接到数据库。
  • 他们可能想要的数据访问types将被其他应用程序使用。
  • 用户将希望通过直接导入到工作表以及通过VBA来处理数据。

据我所知,我想到了以下几点

  • WCF服务
    • 可以被其他应用程序使用
    • 将引入延迟(如果这是一个问题)
    • 不能在没有VBA的工作表中直接使用?
  • WCF数据服务
    • 可以被其他应用程序使用
    • 更好的模型(通过EF)和(RESTful,OData)
    • 将引入延迟(如果这是一个问题)
    • PowerPivot可以直接使用
    • 不能在没有VBA的工作表中直接使用?
    • 仅与2010无VBA兼容
  • Web查询
    • 需要更多的努力来build立(将需要将ASP.NET外观放在数据库前面)
    • 可以在没有VBA的情况下直接在工作表中使用
    • 兼容所有必需的Excel版本
    • 其他应用程序暴露数据的机制不佳(非Excel)

我开始认为没有一个适合所有解决scheme的解决scheme并不存在,并且必须创build一个直接工作表访问接口和另一个接口,无论是SOAP还是RESTtypes的数据服务。

有没有人有任何build议/经验?

谢谢

我想你可以用一个接口逃脱,只是公开两个端点,一个用于SOAP,一个用于REST(或者甚至不需要SOAP端点?)。 这对我来说似乎是两全其美的。 这听起来像是会满足您的要求(Excel / PowerPivot可以使用RESTful服务),并会阻止您复制代码。

看看这个SO问题的例子 。