如何在Excel文件中从Oracle检索值

时间:2016-12-14 15:40:00

标签: excel oracle

我有一个Excel文件,其employee_ID列有100000(100K)行, 我在oracle DB中有一个employee表,它有5000000(500万)行,该表包含2列:employee_ID和employee_name。

在Excel文件中添加Employee_name列的最有效方法是什么? 提前谢谢

2 个答案:

答案 0 :(得分:0)

如果您想快速执行此操作而不尝试将Excel值自动读入数据库,那么:

在excel文件中添加一列:

="SELECT employee_name FROM employee WHERE employee_id = "&A1&" UNION ALL"

(假设员工ID在单元格A1中开始并沿着行向下移动。)

然后:

  • 为包含员工ID的每一行复制粘贴上述公式。
  • 选择您刚刚为100,000行生成的SQL,并将其复制粘贴到文本文件中。
  • 使用分号UNION ALL
  • 替换最后一行的;
  • 保存文件。
  • 在SQL / Plus或SQL / Developer(或其他IDE)中运行该文件,并将输出假脱机/重定向到文件。
  • 将您从数据库生成的数据复制/粘贴回Excel。
  • 删除用于生成SQL的列。

按顺序保存值:

="SELECT "&ROW()&" AS rn, employee_name FROM employee WHERE employee_id = "&A1&" UNION ALL"

然后在它之前添加这一行:

SELECT employee_name FROM (

最后,将最终UNION ALL替换为:

) ORDER BY rn;

答案 1 :(得分:0)

使用Power Query,您可以轻松地将500万条记录从Oracle中提取到Excel(特别是2013年以上)。您可能需要从Oracle网站下载一些驱动程序,但在此之后,您的过程将很容易。

1)了解您是否需要为您的Excel版本下载PowerQuery

2)尝试:新查询 - >来自数据库 - >来自Oracle数据库

3)下载Oracle所需的驱动程序(如果需要)

输入您的服务器详细信息和凭据,这将为您设置连接。如果您不喜欢连接此方法,可以在PC上设置ODBC数据源并执行相同的步骤,但步骤2看起来会有所不同......

2)新查询 - >来自其他来源 - >来自ODBC

4)研究一些关于PowerQuery和PowerPivot的内容。

如果你花时间设置它,你的生活会变得容易多了。