如何在Oracle PLSQL中以"text"格式保存Excel文件?



我在表单中存在按钮的WHEN BUTTEN PRESSED触发器中编写了一段代码。该代码保存了一个excel文件,如下所示:

DECLARE
OUT_FILE TEXT_IO.FILE_TYPE;
---
CURSOR CUR_1  IS 
SELECT  V.NO        ,
V.DATE          

FROM    V_RECEIPT V 
---
BEGIN   
OUT_FILE := TEXT_IO.FOPEN('D:EXPORT_EXCEL'||:GLOBAL.USRNAME||'.CSV','W'); 
---
TEXT_IO.PUT(OUT_FILE,'SEP = ;');    
TEXT_IO.NEW_LINE(OUT_FILE);

TEXT_IO.PUT(OUT_FILE,' NO_RECEIPT ; DATE_RECEIPT ');    
TEXT_IO.NEW_LINE(OUT_FILE);
---
FOR X IN CUR_1 LOOP
TEXT_IO.PUT(OUT_FILE, '00001'      || ';' ); 
TEXT_IO.PUT(OUT_FILE, X.DATE              ); 
---
TEXT_IO.NEW_LINE(OUT_FILE);
END LOOP;
---
TEXT_IO.FCLOSE(OUT_FILE);
---
END;

问题是在输出excel文件中,被指定为文本的列为";00001";,被保存为";1〃;。我不知道是否有办法将excel单元格格式确定为"文本"。有什么解决办法吗?

要将值解释为字符串,而不将它们转换为.CSV文件中字符串以外的数据类型,请编写以下代码:

TEXT_IO.PUT(OUT_FILE, '"=""00001"""'                || ';' );

这个:

TEXT_IO.PUT(OUT_FILE, '"=""' || X.DATE || '"""' || ';' );  

最新更新