行使Oracle中的UTL_FILE包在ExcelSheet中编写
发布时间:2021-03-31 10:43:10 所属栏目:站长百科 来源:网络整理
导读:我在excel表中写入数据没有题目,它存储在一些预界说的目次中. 此刻我有10组数据,每组我必需建设10个单独的excel表. 但我想要的是建设事变簿conating sheet1,sheet2. Sheet10.这将有10套记录.假如我的题目不明晰,请汇报我. 我正在行使PL / SQL Oracle 9i 我的
|
我在excel表中写入数据没有题目,它存储在一些预界说的目次中. 此刻我有10组数据,每组我必需建设10个单独的excel表. 我正在行使PL / SQL Oracle 9i 我的代码将为一组数据写入excel.假如我有更多的数据集而且我不想拥有多个excel表而是我想要一个带有差别表的事变簿,该怎么办? CREATE OR REPLACE PROCEDURE SP_ORACLE_EXCEL(I_FILE_NAME IN VARCHAR2) AS
FILENAME UTL_FILE.FILE_TYPE;
FILENAME1 VARCHAR2(1000);
CURSOR C1 IS
SELECT * FROM MY_TABLE;
VARC1 C1%ROWTYPE;
BEGIN
FILENAME1 := 'TEST_' || I_FILE_NAME || '_' || SYSDATE || '.CSV';
FILENAME := UTL_FILE.FOPEN('TEMP_DIR',FILENAME1,'W');
/* THIS WILL CREATE THE HEADING IN EXCEL SHEET */
UTL_FILE.PUT_LINE(FILENAME,'HEADER1' || ',' || 'HEADER2' || ',' || 'HEADER3' || ',' ||
'HEADER4' || ',' || 'HEADER5');
OPEN C1;
LOOP
FETCH C1
INTO VARC1;
EXIT WHEN C1%NOTFOUND;
/* THIS WILL PRINT THE RECORDS IN EXCEL SHEET AS PER THE QUERY IN CURSOR */
UTL_FILE.PUT_LINE(FILENAME,'"' || VARC1.COL1 || '"' || ',' || '"' ||
VARC1.COL2 || '"' || ',' || '"' ||
VARC1.COL3 || '"' || ',' || '"' ||
VARC1.COL4 || '"' || ',' || '"' ||
VARC1.COL5|| '"');
END LOOP;
UTL_FILE.FCLOSE(FILENAME);
END SP_ORACLE_EXCEL;
办理要领我不知道有任何现成的实现.自07年以来的Excel文件(.xslx)现实上是包括每个事变表的单独xml文件的zip存档. 他们行使的XML模式是pretty straight forward.您必需行使Java来建设文件夹并举办zip压缩才气编写此类文件. (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

