• Oracle查询的语句导出为html/excel


    SQL*Plus:

      SET PAGESIZE 0

      SET HEADING OFF

      SET FEEDBACK OFF

      SPOOL query_export.txt//导出的文件名,以及文件类型。

      SELECT ……;//你需要查询的SQL语句

      SPOOL OFF

    具体解释:

    在sqlplus中将数据导出HTML与EXCEL文件

    语法:
    SET MARK[UP] HTML [ON | OFF] [HEAD text] [BODY text] [TABLE text][ENTMAP {ON | OFF}] [SPOOL {ON | OFF}] [PRE[FORMAT] {ON |OFF}]

    SET MARKUP指明SQL*Plus输出HTML编码格式,必须使用SET MARKUP HTML ON SPOOLON和SQL*Plus SPOOL命令去创建一个spool文件,并且以HTML格式输出。SET MARKUP习惯称作SQLPLUS-MARKUP命令。

    使用SQLPLUS -MARKUP HTML ON或者SQLPLUS -MARKUP HTML ON SPOOL ON产生标准的web页,SQL*Plus自动生成完整的用<HTML>和<BODY>标签封装HTML网页。当设定SPOOL OFF或者退出SQL*Plus是,spool文件中的HTML标签就闭合。
    SQLPLUS -MARKUP和一些其他有用的静默和限制命令一起用。
    使用MARKUP HTMLON生成HTML输出,无论是<PRE>标签还是一个HTML表格。输出一个表格使用标准的HTML <TABLE>,<TR> 和<TD> 标签,自动闭合从一个查询返回结果集的行和列。当设置HTMLON时,默认产生标准HTML表格。通过设置PREFORMAT ON产生预格式化HTML<PRE> 标签。
    用SHOW MARKUP命令查看MARKUP操作当前状态:
    SQL> show markup
    markup HTML OFF HEAD "<styletype='text/css'> body {font:10ptArial,Helvetica,sans-serif; color:black;background:White;}

    HTML [ON|OFF]
    指定是否生成HTML格式,ON生成,OFF不生成,默认是OFF。

    HEAD text
    指定HTML中HEAD标签中的内容,默认情况下,文本包括级联样式和标题。

    BODY text
    指定HTML中BODY标签属性

    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。例如:
    SQL> set markup html on entmap off
    SQL> 
    <br>
    SQL> set markup html on entmap on
    <br>
    SQL&gt; 
    <br>
    SQL&gt; 

    SPOOL {ON|OFF}
    指定是否在SQL*Plus生成HTML标签<HTML>和<BODY>,</BODY>和</HTML>。默认是OFF。
    注:
    这是一个后台打印操作,只有在生成SPOOL文件生效,在屏幕上并不生效。

    PRE[FORMAT] {ON|OFF}
    指定SQL*Plus生成HTML时输出<PRE>标签还是HTML表格,默认是OFF,因此默认输出是写HTML表格。

    在生成HTML格式时要设置一些其他操作,列出如下:

    SET ECHO {ON|OFF}
    是否显示脚本中正在执行的SQL语句。

    SET FEED[BACK] {6|n|ON|OFF} 
    .是否显示当前sql语句查询或修改的行数。默认只有结果大于6行时才显示结果的行数。如果set feedback 1,则不管查询到多少行都返回。当为off 时,一律不显示查询的行数。

    SET HEA[DING] {ON|OFF} 
    是否显示列标题。当SET HEADING OFF时,在每页的上面不显示列标题,而是以空白行代替。

    SET LIN[ESIZE] {80|n} 
    设置一行可以容纳的字符数。如果一行的输出内容大于设置的一行可容纳的字符数,则折行显示。

    SET NEWP[AGE] {1|n|NONE} 
    设置页与页之间的分隔。
    当SET NEWPAGE 0时,会在每页的开头有一个小的黑方框。 
    当SET NEWPAGE n 时,会在页和页之间隔着n个空行。 
    当SET NEWPAGE NONE时,会在页和页之间没有任何间隔。 

    SET NULL text 
    显示时,用text值代替NULL值 

    SET PAGES[IZE] {24|n} 
    设置一页有多少行数,如果设为0,则所有的输出内容为一页并且不显示列标题

    SET WRA[P] {ON|OFF} 
    当SQL语句的长度大于LINESIZE时,是否在显示时截取SQL语句,设置SET WRAPON时,输出行的多于的字符会另起一行显示,否则,会将输出行的多于字符切除,不予显示。 

    SET TERM[OUT] {ON|OFF} 
    是否在屏幕上显示输出的内容,  主要用与SPOOL结合使用。设置SET TERMOUTOFF,输出的内容只保存在输出文件中,不会显示在屏幕上,提高了SPOOL输出速度。

    SET TRIMS[OUT] {ON|OFF}  
    将SPOOL输出中每行后面多余的空格去掉

    SET MARKUP HTML ON SPOOL ON 
    SET ECHO OFF
    SET TERMOUT OFF
    SET TRIMOUT OFF
    SET FEEDBACK OFF
    SPOOL d:/employee.html
    SELECT FIRST_NAME, LAST_NAME, SALARY
    FROM EMP_DETAILS_VIEW
    WHERE SALARY>12000;
    SPOOL OFF
    EXIT

  • 相关阅读:
    多层缓存、要素缓存
    ASP.NET提供三种主要形式的缓存
    cache、session、cookie的区别
    常用简写快速生成代码
    EF数据迁移
    源文件与模块生成时的文件不同,是否希望调试器使用它?
    强命名程序集组成与作用
    centOS docker运行Asp.net Core程序
    docker
    .net常用的代码生成工具
  • 原文地址:https://www.cnblogs.com/MedivhQ/p/3801405.html
Copyright © 2020-2023  润新知