Tag: plsql

通过PL / SQL生成Excel UTL_FILE,样式错误

我正在使用ExcelDocTypeUtils pkg将查询数据导出到EXCEL FILE。 当我运行这个程序的时候,我得到了一个excel文件,但是当我尝试打开它的时候,这个错误就会popup来: Program came up in the following areas during load: Style 我认为失败的原始行是: — Prepare Headers owa_util.mime_header('application/vnd.ms-excel',FALSE); 我已经尝试设置: <?xml version="1.0" encoding="UTF-8"?>' 但是当我这样做,错误更改为以下内容: Program came up in the following areas during load: 'Strict Parse Error' 以下是我如何执行我的程序: /* Starts */ execute employeereport; CREATE OR REPLACE PROCEDURE employeeReport AS v_sql_salary VARCHAR2(200) := 'SELECT last_name,first_name,salary FROM hr.employees […]

使用PL / SQL创buildxls文件,而无需通过xml

我的系统是在APEX / Oracle 11g中开发的,我想直接创build一个xls文件,而不必创build一个xml文件。 系统目前创build一个xml文件,然后可以将其保存为xls格式,但是当用户尝试打开xml文件时,非常挑剔的用户不喜欢Windows 7警告(Excel警告文件的格式确实不符合其扩展名)。 有没有办法在APEX中使用Oracle PL / SQL来完成这个任务?

owa_util.mime_header问题 – 尝试从查询中提取Excel文件

假设生成一个Excel文件,我的一个程序有问题,程序是这样的: CREATE OR REPLACE PROCEDURE GENERATE_REPORT_P(P_CONTRACT_NUM IN VARCHAR2 DEFAULT NULL, P_CUSTOMER_NAME IN VARCHAR2 DEFAULT NULL, P_CUSTOMER_NUM IN VARCHAR2 DEFAULT NULL, P_UPDATE_DATE_START IN DATE DEFAULT NULL, P_UPDATE_DATE_END IN DATE DEFAULT NULL, P_ORDER_NUM IN VARCHAR2 DEFAULT NULL) IS vRecords BOOLEAN := FALSE; BEGIN FOR i IN (SELECT a.contract_num, d.customer_abt_number, d.customer_name, c.doms_order_num order_num, e.service_tag asset, e.sku, e.field, e.previous_value, […]

使用PL / SQL创build一个Excel文件(.xlsx)

关于我以前的问题返回显式游标的SQL语句 ,我能够使用DBMS_SQL和UTL_FILE生成Excel (.xls)文件并传递SYS_REFCURSOR (代码在上一个问题中)。 然而,我遇到的一个挑战是生成的文件超过25 MB。 我将通过电子邮件发送给商业用户,它肯定会填满他们的邮箱大小。 当我使用SQL Developer手动提取到xlsx它会生成大约4 MB的数据。 为了解决这个问题,是否可以通过PL/SQL来完成以下工作? 使用更高版本的Excel( .xlsx )生成文件以压缩大小 在传输之前压缩.xls文件 我也在这里回顾了类似的post,比如在Excel中使用UTL_FILE包在Excel中编写 ,但是正如答案所述,它需要使用Java。 所以它不适用于我。 另一篇文章, 从Oracle数据库创buildExcel电子表格也使用xls 。 所以它也不适用。 有什么想法吗? Oracle版本: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production PL/SQL Release 11.2.0.4.0 – Production "CORE 11.2.0.4.0 Production" TNS for Solaris: Version 11.2.0.4.0 – Production NLSRTL Version 11.2.0.4.0 – Production

用SQL高效地插入大量的数据

嗨,我经常不得不插入大量的数据到表中。 例如,我会从excel或文本文件的forms的数据 1,a 3,bsdf 4,sdkfj 5,something 129,else 那么我经常在这个例子中构造6个插入语句并运行SQL脚本。 当我发送数千个小包到服务器时,我发现这很慢,这也会给networking带来额外的开销。 你做这个最好的方法是什么? 更新:我正在使用ORACLE 10g。

Oracle到Excel – PL / SQL导出过程

我正在写数据从Oracle导出到Excel的pl / sql过程。 我需要数据格式,所以我不能使用CSV。 我已经尝试过使用XML,但是当我想要导出例如70000行50列(几乎300 MB !!!)时,它会生成太大的文件。 这就是为什么我决定使用HTML标记生成XLS文件 – 它比XML小,我必须直接定义格式只有一些特殊的列(string,数字和date由Excel自动格式化)。 这是非常简单和方便,但我不能定义多个工作表。 你知道如何在使用HTML编写的excel文件中添加/定义多个工作表吗? 我试图使用VBScript公式,如<%ActiveWorkbook.Worksheet.Add%>,但它不起作用。 最好的祝福, Przemek