使用SQLPLUS输出到HTML时设置列宽?

时间:2011-03-08 16:49:14

标签: oracle sqlplus

我使用'SET MARKUP HTML ON'选项使用SQLPLUS将查询中的结果表输出到html。

我希望能够明确指定某些列需要是特定的像素宽度。

这可能是使用'SET MARKUP HTML OPTION'吗?我宁愿不必只使用常规假脱机选项,并手动创建html表。

编辑:

我尝试过类似的事情:

SET MARKUP HTML ON SPOOL ON PREFORMAT OFF ENTMAP OFF

SPOOL file.html
column aString heading "New Heading"
column aNumber heading "<p style='width:100px'>800SetColA</p>"

SELECT 'Some long String' aString, 3 aNumber FROM dual
UNION ALL
SELECT 'Some other String' aString, 9 aNumber FROM dual;
SPOOL OFF

哪个不行!!宽度样式标记需要在th标记而不是p标记上设置。

2 个答案:

答案 0 :(得分:1)

您可以使用COLUMN ** HEADING执行此操作 就这样:

SET PAGESIZE 50000
SET MARKUP HTML ON TABLE "class=detail cellspacing=0" ENTMAP OFF
column colA heading "<p style='width:800px'>800SetColA</p>" format a40

column colB heading "<p style='width:10px'>10SetColB</p>" format a40

spool test.html

select level cola, level-5 colb from dual connect by level <10 ;

spool off

你也可以通过这种方法使用样式表,

一些有用的链接: http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b12170/ch8.htm http://gennick.com/html.html

答案 1 :(得分:0)

如果你想使用样式表..这是一个例子: -

set markup html on spool on entmap off -
     head '-
     <style type="text/css"> -
        table { font-family: verdana,arial,sans-serif; font-size:11px;color:#333333;border-width: 1px;border-color: #666666;border-collapse: collapse; } -
        th { border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #dedede; } -
        td { border-width: 1px;padding: 8px;border-style: solid;border-color: #666666;background-color: #ffffff; } -
     </style>' 

spool op.html
exit