2011-07-11 53 views
1

我正試圖設計一個解決方案來訪問Excel 2010(和以前的版本)中的數據。一些高級別的要求/限制如下:Excel數據訪問

  • 數據存儲在數據庫中。
  • 用戶應該無法直接連接到數據庫。
  • 他們可能需要的數據訪問類型將被其他應用程序使用。
  • 用戶將希望通過直接導入工作表和VBA來處理數據。

從我的知識,我認爲以下

  • WCF服務
    • 可以被其他應用程序使用
    • 將引入延遲(如果這是一個問題)
    • 不能爲無需VBA直接在工作表中消費?
  • WCF數據服務
    • 可以通過其他應用程序
    • 一些好的模型暴露(通過EF),並與工作(REST風格,的OData)
    • 將引入延遲(如果這是一個問題被消耗)
    • 可直接由PowerPivot使用
    • 無法在沒有VBA的工作表中直接使用?
    • 只有2010不兼容VBA
  • Web查詢
    • 需要更多的努力來構建(需要放在一起ASP.NET門面數據庫前)
    • 可以直接在工作表中被消耗而不VBA
    • 用Excel所有所需版本
    • 用於其它應用曝光數據普爾機構(非Excel)中支持的

我開始覺得沒有一個一刀切的解決方案不存在,必須創建一個直接訪問表和接口的一切另一個接口,無論是SOAP或REST類型的數據服務。

有沒有人有任何建議/經驗?

感謝

回答

0

我想你可以用一個接口脫身,只露出兩個端點,一個SOAP和一個基於REST(或者你甚至不需要SOAP端點?)。這對我來說似乎是兩全其美的。聽起來它會滿足您的要求(Excel/PowerPivot可以使用RESTful服務),並且會阻止您複製代碼。

看看this SO question for an example

+0

大問題是如何直接在沒有VBA的工作表中使用數據?我目前唯一可以看到的選擇是提供網頁查詢外觀。這兩個服務選項都不會給我這個。 –

+0

你看過PowerPivot嗎?使用PowerPivot,只需點擊幾下鼠標即可使用本地REST服務... – BrandonZeider

+0

http://www.powerpivot.com/ – BrandonZeider