如何在TEXT_IO过程中自动调整CSV文件的宽度列

时间:2019-05-23 08:26:47

标签: oracle oracle11g oracle10g oracleforms oracle-fusion-middleware

我有从表中选择数据并将数据输入“ CSV”文件的代码。代码成功运行,但是当打开“ CSV”文件时,默认情况下没有自动调整宽度列。打开“ CSV”文件然后自动填充宽度列时,我需要

代码:

PROCEDURE DATA_CSV IS

 BEGIN

 Declare

 LC$Line Varchar2(30000);
 TFile                  TEXT_IO.FILE_TYPE;

 Begin

 TFile := TEXT_IO.FOpen( 'E:\Report_MOF.csv', 'W' );
 text_io.Put_Line(TFile,'HOFID,MOFID,MOFNAME,RID,CNICNO');
 For C1 in 
 ( SELECT b.hofid, b.mofid, b.mofname, b.rid, b.cnicno
         FROM hof a, mof b
        WHERE a.cnicno IN (SELECT cnic_no FROM we_group_hof_k)
        AND a.cnicno = b.cnicno
 )
 Loop
 LC$Line := C1.hofid|| ',' ||C1.mofid|| ',' ||C1.mofname|| ',' ||C1.rid|| ',' ||C1.cnicno;
 TEXT_IO.PUT_LINE( TFile, LC$Line ) ;
 End loop;

 TEXT_IO.FClose( TFile);

 End;
END;

1 个答案:

答案 0 :(得分:0)

CSV文件仅仅是一个文本文件,其中包含用逗号分隔的值(因此,名称为逗号分隔值)。它未指定有关数据显示方式的任何内容。

当您在电子表格程序(例如Microsoft Excel)中打开CSV文件时,该程序将从文本文件中读取数据并决定如何向您显示数据,包括每列的宽度。

如果要更改Excel确定每列的宽度的方式,则可能需要给Microsoft打个电话。

或者,使用其他软件程序显示CSV文件的内容,或编写自己的:)