1

如何开发 Excel 插件来编辑 Excel 数据表中的外部数据?

Excel 可以连接到外部数据源,但据我所知,它们是单向只读数据表。我正在尝试做的是类似于 Excel 的 TFS 插件。我相信还有很多这样的。

对于那些不知道该插件的人:安装后,TFS Excel 插件将作为 Excel 中的一个新菜单出现。通过该菜单,您可以打开与 TFS 服务器的连接,并将您的(工作项)记录作为 Excel 表格导入 Excel。您可以添加新行或编辑表中的数据。某些单元格附有下拉列表,但列表中仅显示有效选项,并且每条记录都不同。您可以编辑表中的行,并且可以将这些记录批量推送回服务器。

我不知道这是否会有所不同,但我的数据源上的连接和更新操作将通过 Web 服务进行。

我想这需要一些认真的开发,但我在关于外部数据范围的网页之间迷失了(仅供阅读)。有人可以指导我进一步阅读该主题吗?

4

1 回答 1

0

外部数据范围对您没有帮助,因此您可以停止阅读有关它们的网页。你是对的,它们是只读的。您可以将它们用于操作的读取部分,但您将围绕写入部分进行大量编码,您不妨控制一切。您只是不会从外部数据范围中获得足够的好处来保证在这种情况下完全使用它们。在我看来,当然。

如果您正在读取和写入数据库,您可能会使用 ActiveX 数据对象 (ADO)。您将读入一个记录集,监视它的变化,然后根据需要使用 UPDATE、DELETE 和 INSERT 语句写回数据库。

如果您将通过 API 与数据库交互,正如您所指出的,您可能会使用 Microsoft XML 库,特别是 MSXML2.XMLHTTP 对象。您可以使用 GET、POST、PUT、DELETE 以及您可以通过 HTTP 执行的任何其他操作。

如果您以前从未使用过 XMLHTTP,那么您将需要学习一些东西。但这并不是特别困难,并且有大量可用信息。在我看来,最困难的部分是跟踪对 Excel 工作表所做的更改。如果您允许用户使用 Excel 的本机编辑功能,则可能很难跟踪所做的更改。如果您遇到用户必须使用您的菜单项删除记录的完全锁定情况,那么您必须询问您为什么使用 Excel(仍然可能有充分的理由,但熟悉 Excel 的界面) '不要成为其中之一,因为你会用你的代替它)。

也许您已经为此制定了策略。但如果没有,请搜索“使用工作表更改事件检测已删除的行”以了解您将面临的一些挑战。如果您有前进的道路,请继续阅读 XMLHTTP,您应该已经准备就绪。

于 2013-04-15T13:24:07.483 回答