在Excel中连接不同的数据库
假设我有一个Access数据库“ADB”和一个Excel工作簿“EWB”。
-
ADB有一个名为“ATable”的表,其中包含一些列,这些列包括一个名为“A_ID”
-
EWB有一个名为“EWorksheet”的工作表,其中包含“E_ID”和“ECol”
现在,我想知道如何创build一个Excel工作表,它将来自ADB的ATable.A_ID和来自EWB的EWorksheet.ECol结合在一起,如果A_ID = E_ID则返回ECol。
所以在SQL中,它应该看起来像这样:
SELECT ATable.A_ID, EWorksheet.ECol FROM ADB.ATable, EWB.EWorksheet WHERE ATable.A_ID = EWorksheet.ECol
当然,我希望数据是dynamic的,这样数据将在刷新时更新。
你需要一个叫做PowerQuery的东西,默认情况下是Excel 2016。 在以前的版本中,你将不得不安装它。
一旦你有了它,这是非常简单的。 select一个连接,如下所示select一个Access数据库或一个Excel工作簿。
一旦你在PowerQuery中加载了这两个查询,你需要通过你指定的列来合并它们,并且这将会为你join。
PowerQuery所做的是logging一系列步骤,例如连接到Access数据库或合并2个表。 这些步骤保存在文件中,所以当您单击Excel中的RefreshAll时,它将重现您指定的相同步骤并为您提供最新数据。