【问题标题】:Excel Data AccessExcel 数据访问
【发布时间】:2023-03-05 19:14:01
【问题描述】:

我正在尝试设计一种用于在 Excel 2010(和以前的版本)中访问数据的解决方案。一些高级要求/约束​​如下:

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

据我所知,我想到了以下内容

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

我开始认为没有一种万能的解决方案不存在,并且必须创建一个用于直接访问工作表的接口和另一个用于其他一切的接口,无论是 SOAP 还是 REST 类型的数据服务。

有人有什么建议/经验吗?

谢谢

【问题讨论】:

    标签: .net wcf excel odata wcf-data-services


    【解决方案1】:

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

    看看this SO question for an example

    【讨论】:

    • 大问题是如何在没有VBA的情况下直接在工作表中使用数据?我目前能看到的唯一选择是为此提供一个 Web 查询外观。这两个服务选项都不会给我这个。
    • 您研究过 PowerPivot 吗?使用 PowerPivot,您只需单击几下即可在本机使用 REST 服务...
    • 是的,我有,但问题是用户在此期间仍然需要使用 2007,所以无论提供什么解决方案,它都需要在 2007 和 2010 上工作。此外,使用 PowerPivot ,是否可以在标准工作表和 VBA 中以与直接在单元格中导入相同的方式与提要进行交互?谢谢
    • 是的 - PowerPivot 在一天结束时将导入数据的“本地”副本并使其易于保持同步,因此您仍然有机会使用 VBA 进行操作.
    • 所以我想最好的解决方案是将两者结合起来 1) 通过某种 ASP.NET 外观提供 Web 查询接口,以便通过可查询调用将数据直接导入单元格 2) 为 Excel 提供 OData 服务2010(未来)和 VBScript 访问。这两个“接口”都可以使用相同的底层数据访问组件。
    猜你喜欢
    • 2010-09-26
    • 1970-01-01
    • 1970-01-01
    • 2010-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-09
    相关资源
    最近更新 更多