试图将pl/sql脚本提取到excel文件,该文件目前正在提取数据并将其放入文本文件中



我有一个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'); 

最新更新