我有一个Oracle 10G数据库,我需要编写一个相当简单的查询来连接两个表并选择一些数据。但是,我想将结果列表导出到excel,因此最终用户可以使用此.xls文档查看结果并按其中一个字段(位置)进行过滤
当我编写查询时,是否有一种简单的方法可以生成/创建一个excel文档,如上所述保存这些结果? SQL不需要在excel中运行,但我想这是一个有用的功能,现在我考虑一下!谢谢。
您的请求有简单的解决方案。
通过使用ora_excel,生成Excel xlsx文件的小型pl / sql包,您可以选择数据并将所选数据导出到Excel并设置过滤。
请看以下示例:
BEGIN
ORA_EXCEL.new_document;
ORA_EXCEL.add_sheet('My sheet');
ORA_EXCEL.query_to_sheet('select * from employees'); -- Select data from database
ORA_EXCEL.set_cells_filter('A1', 'K1'); -- Add cell filtering from column A1 to column K1
-- Save generated Excel to file with name example.xlsx to Oracle folder EXAMPLE_XLSX
ORA_EXCEL.save_to_file('EXPORT_DIR', 'example.xlsx');
END;
有关详细信息,请查看here
干杯
在excel中很容易做到;完成后,用户可以右键单击数据并说“刷新”以获取最新更新。
但为什么重新发明轮子很多在线文章已经解释了如何做到这一点...这是一个
http://blog.mclaughlinsoftware.com/microsoft-excel/how-to-query-oracle-from-excel-2007/
连接到表后,可以编辑连接上的属性并输入自定义SQL(从开发人员工具中复制和粘贴)
由于您无法在您的Excel版本中使用OLE DB。使用SPOOL
创建CSV文件。
SQL> SET echo off
SQL> SET verify off
SQL> SET colsep ,
SQL> SET pagesize 0
SQL> SET trimspool on
SQL> SET feedback off
SQL> SPOOL ON
SQL> SPOOL C:\data.csv
SQL> SELECT COLUMN1,COLUMN2,COLUMN3....
FROM TABLE;
SQL> SPOOL OFF
.csv
文件默认情况下应在Excel中打开。使用正确的列别名,以便用户了解列标题。
快捷方式:
首先创建一个包含查询的视图(最好的方法,因为您可能需要稍后更改此查询)。
一定要正确安装oracle客户端。
来自其他来源 - >来自数据连接向导 - > Microsoft数据访问 - 适用于Oracle的OLE DB提供程序
您可以保存密码并设置选项以在连接属性中自动刷新。
您可以直接从Excel 2003查询oracle数据库,但是,您的sql语句由MS Query解释,因此通常会令人沮丧。我将假设有问题的机器已经能够查询您的数据库并正确配置数据库命名。
要从excel 2003查询数据库,您必须:
这应该会启动MS Query,这是一个类似Access的接口。
显然,这是一个非常简短的启动器,可以让您踩到正确的方向。如果您有任何具体问题,请发表评论,我会尽力帮助您。
步骤1运行查询右键单击Resultenter image description here
步骤2单击Export enter image description here
步骤3选择格式到Excel输入数据表名称和位置
步骤4单击“下一步”,然后完成enter image description here
你可以做一件事。