我有一个PL/SQL脚本,目前生成一个文本文件,但我需要从脚本生成excel文件。我目前有pl/sql代码如下,
BEGIN
--column headers
DBMS_OUTPUT.PUT_LINE(‘column name header 1 | column name header 2 |
column name header 3 |………..| column name header n’);
END; /
--extract
(SELECT UNIQUE temptable.columnname1 || '|' ||
temptable.columnname2 || '|' ||
‘columnname3’ || '|' ||
………………
temptable.columnnamen '|'
FROM temptable
WHERE temptable.OUTPUT_INDICATOR = 'extract ready');
我试过用。csv扩展名重命名目标文件名,但所有数据都被复制到excel中的单个单元格。谁能告诉我我们如何修改上述代码提取数据到excel文件?谢谢。
使用分隔符构建标题行,就像提取行一样,但是所有分隔符都使用逗号。
在cvs中,你应该使用分隔符,这是你的excel识别的你的区域(例如,在美国是逗号(,)字符,在其他国家可以是分号(;))
下面是逗号分隔值
的示例BEGIN
--column headers
DBMS_OUTPUT.PUT_LINE(‘column name header 1 , column name header 2 ,
column name header 3 ,……….., column name header n’);
END; /
--extract
(SELECT UNIQUE temptable.columnname1 || ',' ||
temptable.columnname2 || ',' ||
‘columnname3’ || ',' ||
………………
temptable.columnnamen ','
FROM temptable
WHERE temptable.OUTPUT_INDICATOR = 'extract ready');
用逗号,
作为列分隔符,rn
作为行分隔符:
BEGIN
--column headers
DBMS_OUTPUT.PUT_LINE(‘column name header 1 , column name header 2 ,
column name header 3 ,……….., column name header n’ || 'rn');
END; /
--extract
(SELECT UNIQUE temptable.columnname1 || ',' ||
temptable.columnname2 || ',' ||
‘columnname3’ || ',' ||
………………
temptable.columnnamen || 'rn'
FROM temptable
WHERE temptable.OUTPUT_INDICATOR = 'extract ready');