사전 정의 된 디렉토리에 저장된 Excel 시트에 데이터를 쓰는 데 문제가 없습니다.Oracle에서 UTL_FILE 패키지를 사용하여 ExcelSheet에 쓰기
이제 10 세트의 데이터가 있고 각 세트마다 10 개의 별도 엑셀 시트를 만들어야합니다. 하지만 내가 원하는 것은 통합 문서 sheet1, sheet2를 작성하는 것입니다. Sheet10. 어느 것이 레코드의 모든 10 세트를 갖습니다. 제 질문이 명확하지 않으면 알려주세요.
나는 하나 개의 데이터 세트에 대한 엑셀 쓸 것이다 PL/SQL 오라클 9i의
내 코드를 사용하고 있습니다. 더 많은 데이터 집합이 있고 여러 Excel 시트가 필요 없으면 대신 diff 시트가있는 통합 문서 하나를 원합니다.
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;
을 이해할 수 없습니다. – chance
@chance .now 분명합니다. – Avi
UTL_FILE을 사용하여 xls 파일을 작성하는 방법은 무엇입니까? 너와 우리와 나눌 수 있니? –