利用SQL*PLUS导出成EXCEL和html的功能实现报表统计:

简介:
利用SQL*PLUS导出成EXCEL和html的功能实现报表统计:

也就是生成HTML格式,但是同样的格式输出到EXCEL中也能正常显示。
 
关键就是这些参数的设定
set markup html on entmap ON spool on preformat off
 
参数注解如下:
========================================================================
TABLE text
设置<TABLE>标签的属性,如BORDER, CELLPADDING, CELLSPACING和WIDTH。
默认情况下,<TABLE> 的WIDTH属性设置为90%,BORDER属性设置为1。
ENTMAP {ON|OFF}
指定在SQL * Plus中是否用HTML字符实体如&lt;, &gt;, &quot; and &amp;等替换特殊字符<, >, " and & 。默认设置是ON。
SPOOL {ON|OFF}
指定是否在SQL*Plus生成HTML标签<HTML> 和<BODY>, </BODY> 和</HTML>。默认是OFF。
注:这是一个后台打印操作,只有在生成SPOOL文件生效,在屏幕上并不生效。
PRE[FORMAT] {ON|OFF}
指定SQL*Plus生成HTML时输出<PRE>标签还是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内容如下:

 
  1. sqlplus -s dba_user/dbapasswd<<EOF
  2. set linesize 200
  3. set term off verify off feedback off pagesize 999
  4. set markup html on entmap ON spool on preformat off
  5. spool /apps/dba_tool/get_data/get_d_stat_`date --date "1 days ago" +%F`.xls
    • --spool get_d_stat_`date +%F`.xls
      • --spool tables.html
        • @/apps/dba_tool/get_data/get_d_stat.sql;
        • spool off
        • exit;
        • EOF
3.脚本get_d_stat.sql 内容如下:
 

 
  1. select name,sum(case when SUBJECT='语文' then GRADE else 0 end) "语文",sum(case when SUBJECT='数学' then GRADE else 0 end) "数学",
  2. sum(case when SUBJECT='英语' then GRADE else 0 end) "英语" ,sum(case when SUBJECT='化学' then GRADE else 0 end) "化学" from t_grade group by name;
 
 
运行脚本get_d_stat.sh后,会在 /apps /dba_tool /get_data /目录下生成get_d_stat_2012-06-18.xls的报表文件。效果图如下:

 

NAME 语文 数学 英语 化学
SEKER 65 75 60 0
BLUES 60 90 0 0
TOM 0 0 0 90
PG 0 80 90 0
ZORRO 70 80 75 0

 

到此为止,利用SQL*PLUS导出成EXCEL和html的功能实现报表统计已经成功。




     本文转自vcdog 51CTO博客,原文链接:http://blog.51cto.com/255361/902439,如需转载请自行联系原作者


相关文章
|
2月前
html页面点击按钮实现页面跳转功能
html页面点击按钮实现页面跳转
86 11
|
3月前
|
存储 移动开发 UED
HTML5 的 form 的自动完成功能
在HTML5中,`&lt;form&gt;`元素具备自动完成功能,可根据用户历史输入提供建议,提高输入效率并改善体验。默认情况下,浏览器会自动开启此功能,也可通过设置`autocomplete`属性为`on`或`off`来明确开启或关闭。对于特定表单字段,如`&lt;input&gt;`,同样可以通过设置`autocomplete`属性控制自动完成行为。浏览器通过记录并存储用户的历史输入,在用户再次访问相同表单时提供相应的自动完成建议。
WK
|
4月前
|
存储 移动开发 API
哪些功能是HTML5的新增功能
HTML5作为HTML的最新版本,引入了许多新的功能和特性,这些功能极大地丰富了网页的表现力和交互性。以下是HTML5的一些新增功能:
WK
88 2
|
4月前
|
移动开发 前端开发 JavaScript
Twaver-HTML5基础学习(3)基本数据元素(Data)其他功能函数以及组Group
本文介绍了Twaver HTML5中Data类的其他功能函数,如获取和操作子网元的方法,以及组(Group)的概念和使用。文章通过示例代码展示了如何在React组件中创建组、添加图元到组中,并通过toChildren函数获取满足特定条件的图元。
59 0
Twaver-HTML5基础学习(3)基本数据元素(Data)其他功能函数以及组Group
用html+javascript打造公文一键排版系统14:为半角和全角字符相互转换功能增加英文字母、阿拉伯数字、标点符号、空格选项
用html+javascript打造公文一键排版系统14:为半角和全角字符相互转换功能增加英文字母、阿拉伯数字、标点符号、空格选项
|
4月前
|
存储 文字识别 前端开发
用html+javascript打造公文一键排版系统13:增加半角字符和全角字符的相互转换功能
用html+javascript打造公文一键排版系统13:增加半角字符和全角字符的相互转换功能
|
4月前
|
前端开发
html遮罩功能
html遮罩功能
|
6月前
|
自然语言处理 开发者 Python
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的 HTML 内容。Markdown 的语法简洁明了、学习容易,而且功能比纯文本更强。
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的 HTML 内容。Markdown 的语法简洁明了、学习容易,而且功能比纯文本更强。
|
5月前
|
SQL
SQL SERVER 查询表结构,导出到Excel 生成代码用
SQL SERVER 查询表结构,导出到Excel 生成代码用
55 0
|
6月前
HTML【详解】超链接 a 标签的四大功能(页面跳转、页内滚动【锚点】、页面刷新、文件下载)
HTML【详解】超链接 a 标签的四大功能(页面跳转、页内滚动【锚点】、页面刷新、文件下载)
337 0