相关疑难解决方法(0)

Oracle到Excel - PL/SQL导出过程

我正在编写pl/sql程序,将数据从Oracle导出到Excel.我需要数据格式化,所以我不能使用CSV.我已经尝试过使用XML但是当我想导出70000行(50列,几乎300 MB)时,它会生成太大的文件.

这就是我决定使用HTML标签生成XLS文件的原因 - 它比XML小,我必须直接定义一些特殊列的格式(字符串,数字和日期由Excel自动格式化).它非常简单方便,但我无法定义多个工作表.

您知道如何在使用HTML编写的excel文件中添加/定义多个工作表吗?我尝试使用像<%ActiveWorkbook.Worksheet.Add%>这样的VBScript公式,但它不起作用.

html oracle vbscript excel plsql

11
推荐指数
1
解决办法
6万
查看次数

使用PL/SQL创建Excel文件(.xlsx)

关于我之前的问题返回显式游标的SQL语句,我能够(.xls)使用DBMS_SQL和生成一个Excel 文件UTL_FILE并传递SYS_REFCURSOR(代码在上一个问题中).但是,我遇到的一个挑战是生成的文件超过25 MB.我将通过电子邮件将其传输给业务用户,它肯定会填满他们的邮箱大小.当我手动提取xlsx使用SQL Developer它时,只生成大约4 MB的数据.

要解决这个问题,是否可以通过PL/SQL以下方式进行?

  1. 使用更高版本的Excel(.xlsx)生成文件以压缩大小
  2. .xls在传输之前压缩文件

我也在这里回顾了类似的帖子,例如在Oracle中使用UTL_FILE包在ExcelSheet中编写,但正如答案所述,它需要使用Java.所以它不适用于我.另一篇文章,即从Oracle数据库创建Excel电子表格,也在使用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
Run Code Online (Sandbox Code Playgroud)

oracle excel plsql

8
推荐指数
1
解决办法
3万
查看次数

标签 统计

excel ×2

oracle ×2

plsql ×2

html ×1

vbscript ×1