为什么在使用 SQL 查询生成 Excel sheet 时重复 header?

Why header is being duplicated when generating an Excel sheet using SQL query?

我正在使用 SQL 查询生成 Excel sheet 以从我的数据库导出数据,header 每 10000 行复制一次,我需要它不得重复。

我正在使用以下设置。当我将页面大小设置为大于 10000 时,每 15 行出现一次重复。

SET MARKUP
HTML ON
SPOOL ON
HEAD "<TITLE>SQL*PLUS REPORT</title> - <STYLE TYPE='TEXT/CSS'><BODY {bgcolor: ffffc6} ></STYLE>"
SET ECHO OFF
SET PAGESIZE 10000
FEEDBACK OFF
SPOOL file_name.xls

我联系了一个朋友,他给了我解决方案后,我正在回答我自己的问题。

设置应该如下:

SET MARKUP HTML ON SPOOL ON HEAD "<TITLE>SQL*Plus Report</title> -
<STYLE TYPE ='TEXT/CSS'><BODY {bgcolor: ffffc6} ></STYLE>"
SET ECHO OFF
SET PAGESIZE 0 FEEDBACK OFF
SPOOL file_name.xls
--header format
SELECT
'filed_name_1',
'filed_name_2',
'filed_name_3',
'filed_name_4',
'filed_name_5'
FROM DUAL
UNION ALL
--end of header format
SELECT 
to_char (filed_name_1) as filed_name_1,
to_char (filed_name_2) as filed_name_2,
to_char (filed_name_3) as filed_name_3,
to_char (filed_name_4) as filed_name_4,
to_char (filed_name_5) as filed_name_5
FROM table_name
QUIT;

请注意,在您的 header 格式中,字段的顺序必须与您的 SELECT 顺序相同