利用SQL*PLUS导出生成EXCEL和html的功能实现报表统计
利用SQL*PLUS导出成EXCEL和html的功能实现报表统计:也就是生成HTML格式,但是同样的格式输出到EXCEL中也能正常显示。关键就是这些参数的设定set markup html on entmap ON spool on preformat off参数注解如下:========================================================================TABLE text设置标签的属性,如BORDER, CELLPADDING,CELLSPACING和WIDTH。默认情况下, 的WIDTH属性设置为90%,BORDER属性设置为1。ENTMAP{ON|OFF}指定在SQL * Plus中是否用HTML字符实体如<, >, " and &等替换特殊字符, " and & 。默认设置是ON。SPOOL{ON|OFF}指定是否在SQL*Plus生成HTML标签和, 和。默认是OFF。注:这是一个后台打印操作,只有在生成SPOOL文件生效,在屏幕上并不生效。PRE{ON|OFF}指定SQL*Plus生成HTML时输出标签还是HTML表格,默认是OFF,因此默认输出是写HTML表格。=========================================================================通过SQL*PLUS我们可以构建友好的输出,满足多样化用户需求。本例通过简单示例,介绍通过sql*plus输出xls,html两种格式文件。首先创建三个脚本:1.创建实验表t_grade,用以进行数据查询输出使用;2.get_d_stat.sh 用以设置环境,主要调用具体脚本;3.get_d_stat.sql 为获取具体数据之脚本; 1.创建实验表t_grade如下:1. create table t_grade(id int,name varchar2(10),subject varchar2(20),grade number);2. insert into t_grade values(1,'ZORRO','语文',70);3. insert into t_grade values(2,'ZORRO','数学',80);4. insert into t_grade values(3,'ZORRO','英语',75);5. insert into t_grade values(4,'SEKER','语文',65);6. insert into t_grade values(5,'SEKER','数学',75);7. insert into t_grade values(6,'SEKER','英语',60);8. insert into t_grade values(7,'BLUES','语文',60);9. insert into t_grade values(8,'BLUES','数学',90);10.insert into t_grade values(9,'PG','数学',80);11.insert into t_grade values(10,'PG','英语',90);12.insert into t_grade values(11,'TOM','化学',90);13.commit; 2.脚本get_d_stat.sh内容如下: sqlplus -s dba_user/dbapasswd<