【发布时间】:2021-04-19 08:28:09
【问题描述】:
我在表单中存在按钮的 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 单元格格式确定为“文本”。 有什么解决办法吗?
【问题讨论】:
-
如果你用文本编辑器查看,它实际上是否保存为文本文件中的1;还是仅在 Excel 中显示为 1,这是已知问题/功能?
-
@AlexPoole 在excel中只显示为'1',我希望它保存并在excel中显示为'00001'。
-
Excel不是文本编辑器,所以显示的数据和实际数据不同
-
@AlexPoole 非常感谢你!终于成功了!
标签: oracle plsql oracleforms