在Excel中连接不同的数据库

假设我有一个Access数据库“ADB”和一个Excel工作簿“EWB”。

  1. ADB有一个名为“ATable”的表,其中包含一些列,这些列包括一个名为“A_ID”

  2. 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时,它将重现您指定的相同步骤并为您提供最新数据。