gpt4 book ai didi

oracle - 在 Oracle 中使用 UTL_FILE 包在 Excel Sheet 中写入

转载 作者:行者123 更新时间:2023-12-04 20:41:45 24 4
gpt4 key购买 nike

我在存储在某个预定义目录中的 Excel 表中写入数据没有问题。

现在我有 10 组数据,对于每组数据,我必须创建 10 个单独的 excel 表。
但我想要的是创建工作簿 conating sheet1,sheet2,。表 10。其中将有所有10组记录。如果我的问题不清楚,请告诉我。

我正在使用 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 压缩才能写入此类文件。

关于oracle - 在 Oracle 中使用 UTL_FILE 包在 Excel Sheet 中写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8414050/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com