从PL/SQL导出大量数据到Excel的方法。

您所在的位置:网站首页 数据库表导出excel文件夹 从PL/SQL导出大量数据到Excel的方法。

从PL/SQL导出大量数据到Excel的方法。

2024-07-08 17:55| 来源: 网络整理| 查看: 265

方法一:

1.在PLSQL中的SQL窗口执行查询代码,因为是大量数据,所以SQL执行时间应该会比较长,此时在执行过程中点击中断按钮,数据结果不会显示,但会显示结果窗口。(此时千万别将数据加载完后-全选-右键-导出结果为excel文件,因为excel表格有最大行数限制,限制为1048576行,若要导出的数据量大于最大行数,则会在导出到1048576行时候报错,而且在plsql中加载大量数据非常费时,导出会占用大量电脑运行内存,实测时140多万行的数据,加载完全选导出为excel时将电脑运行内存占满,且最后还会报错,浪费了不少时间。)

2.在结果窗口中点击下图所框出的按钮,并选择导出为csv文件。导出时间与数据量大小和网速有关。(选择csv文件是因为该格式支持超过百万行的数据,且可以用文本编辑器进行编辑,并且最后能用excel打开)。

3.在csv文件导出完成后,使用文本编辑器打开该文件。(如notepad++)将数据分成小于excel最大行数的两部分,实验时我在文本编辑器中将140W条数据按行数分成了80W前和80W后的两部分数据。分别保存为1.csv和2.csv

4.新建excel文件,在工具栏中点击 数据-自文本 ,选择1.csv,点击导入

按下图方法设置3步

第三步中若数据里包含了很长的数字类型,若转到excel中会变成科学计数法且最后几位变为0,需要在下方的“数据预览”中选择该字段,然后将列数据格式选择为文本。其余字段的格式请按需选择。

设置完毕后耐心等待,excel会加载数据,在后台数据转换时还会有比较高的CPU占用。

完毕后另存为excel文件即可,此时1.csv文件的数据已保存为excel格式。在该excel中新建一个sheet页,按照上述步骤可将2.csv文件导入,最后保存。

此时任务完成,将140万行数据分为了2个sheet页保存在了excel文件中。

方法二:

在SQL中做文章,在要导出数据的SQL中字段里增加一列rownum,外部嵌套一层select*将数据按条数来分开。

按取数场景选择数据的分法,测试时的数据像这样:

但是仔细看该SQL,取的是3月份的数据,然后按数据量来分开。如果对数据分段条数没有特别严格的要求,可以将按table里面的date来区分,这样会减少数据库的压力。

如分成这样两条,前半月和后半月的数据。

这样一来若是table与很多其他表有关联的话,数据库压力会小很多,而且也能够选择直接导出成excel。

(好比两条SQL,每个主表70W条,执行2次;一条SQL数据140W条执行2次,再分成前70W和后70W)

下图是执行开销

按主表时间片段分

按总结果条数分



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3