将Excel中的数据与数据库结合起来

这可能是一个简单的问题,但我真的不知道我在做什么,所以希望有人能帮助我。

我已经得到一个Excel电子表格,有两个相关的列我的任务。 第一列是“外部ID”,第二列是“内部ID”。 我需要使用内部ID作为关键字从我们的数据库(使用各种连接)中select一堆数据,但是所有这些数据都需要链接回外部ID,并且Internal / External之间的唯一链接是这个电子表格。

例如,假设一行电子表格如下所示:

ExtID IntID AB1234 2 

我需要在数据库中select与ID#2项目相关的所有数据,但是我无法从数据库中获取“AB1234”,所以我需要使用电子表格将这些数据返回到“AB1234”。

什么是最简单的方法来完成这个? Excel的版本是Excel 2007,数据库是Oracle,如果这是相关的。

请注意,我只有生产数据库的读权限,因此创build表和导入电子表格数据以进行连接不是一个选项。

根据评论编辑

1 –使用MS Access作为表格导入Excel工作表。

2 –链接到您的数据库表,也从MS Access内

外部数据选项卡 – >其他数据源 – > ODBC连接 – >select你的 – >select你想要的表格

3 –编写一个访问查询来比较你想要的值

创build – >查询devise – >删除你想要的表格,拖动它们之间的关系线,点击运行

通常我使用复制粘贴和一个很好的具有macros的列模式编辑器来完成这些任务。 它工作正常,如果你只有几个Excel文件。

很大程度上取决于你对自己所拥有的工具的熟悉程度。

你有一个你熟悉的工具,可以很容易地使用IntID来查找这些logging吗? 如果是这样,您可以执行查询并将结果粘贴到原始电子表格中列的IntID右侧的列?

如果是这样,你会得到你想要的,一个包含以下列的电子表格:ExtID(原始)IntID(原始)IntID(来自Oracle)Col1(来自Oracle)Col2(来自Oracle)等…

我对Oracle并不熟悉,但是我知道很多数据库可以让你用#或者类似的东西来预先指定一个表名并创build一个临时表。 其他人有一个临时数据库,你可以创build的东西。 有时你可以创build一个临时表,即使你不能做任何事情,但select。

如果你有权这样做的话,我会按照JosephStyons的build议(#2)来做这个function,把你的logging插入到临时表中,然后根据它进行查询。

使用Excel和VBA,可以使用ActiveX数据对象(ADO)作为使用特定数据库的OLE DB提供程序的高级方法。 这使您可以从数据库中读取数据,然后可以查询该数据并将结果存储在电子表格中。

Oracle OLE DB提供程序
ADO指南