Excel如何在当前工作簿上定义连接

我想在Excel中运行SQL查询。

允许我这样做的唯一select是使用Microsoft Query外部源插入数据,select“Excel文件”作为数据源并指向当前工作簿

虽然很愚蠢,但它实际上起作用,但是它会将文件的path烧入到它在工作簿中定义的连接中,这意味着我无法移动或重新分发该文件。

连接将具有以下定义:

连接string:

DSN=Excel Files;DBQ=C:\Temp\Alma.xlsx;DefaultDir=C:\Temp;DriverId=1046;MaxBufferSize=2048;PageTimeout=5; 

查询:

 select e.bizszam, e.bevsor, e.afa, u.afa from this.EredetiAdat e inner join this.UjAdat u on e.bizszam = u.bizszam and e.bevsor = u.bevsor and e.afa <> u.afa where e.afa NOT IN (select u2.afa from `C:\Temp\Alma.xlsx`.UjAdat u2 where u2.bizszam = u.bizszam and u2.bevsor = u.bevsor) OR u.afa NOT IN (select e2.afa from `C:\Temp\Alma.xlsx`.EredetiAdat e2 where e2.bizszam = e.bizszam and e2.bevsor = e.bevsor) 

正如你可以看到在上面的两个path(C:\ Temp \ Alma.xlsx)。 我想摆脱这一点。 我怎样才能在工作簿本身,在运行的实例,无论它在哪里?

如果有任何其他方式(本机Excel,没有插件!)在工作簿的表上运行SQL查询,我也很高兴。 我试过使用MS Power Query,但据我所知它完全没用。