-
yangm 数据达人Lv4
发表于2020-10-20 10:16
楼主
给大家讲下关于导出的问题,大家在项目中可能会遇到导出的时候发现自己的数据量很大,十万百万甚至几百万的数据量,导出到EXCEL时发现只有65536行,这是为什么呢?
答案是这个是正常的,2003版EXCEL的.XLS文件限制行数是2的16次方行,2的8次方列,(系统导出文件格式默认2003版,可手动勾选2007版)所以在导出的EXCEL上只会显示2的16次方列,为了印证,专门在百度上搜索了一下,确有此限制:
那么我们要导出大数据量怎么办呢?研发大神们早已经考虑到这一点了,由于.csv文件格式的文件是没有限制的,对于几百万行的数据量我们系统内置超过一个行数限制就转换为csv导出,具体配置路径以及配置如下图:
注意:1.配置三可能会存在这样的需求,100w条数据需要导出到一张CSV上。这个操作有风险,如上图所示需要的内存会增加,并且sql同时计算的限制条数也要增加,导致系统报错或者卡死,故而用户可以根据自己的实际情况调整配置三的数值不建议特别大。
2.导出CSV为sql注入,所以导出是会存在样式以及格式的丢失,这个也是正常的,可能会存在跟报表计算出来的样式不一致的情况。
答案是这个是正常的,2003版EXCEL的.XLS文件限制行数是2的16次方行,2的8次方列,(系统导出文件格式默认2003版,可手动勾选2007版)所以在导出的EXCEL上只会显示2的16次方列,为了印证,专门在百度上搜索了一下,确有此限制:
那么我们要导出大数据量怎么办呢?研发大神们早已经考虑到这一点了,由于.csv文件格式的文件是没有限制的,对于几百万行的数据量我们系统内置超过一个行数限制就转换为csv导出,具体配置路径以及配置如下图:
注意:1.配置三可能会存在这样的需求,100w条数据需要导出到一张CSV上。这个操作有风险,如上图所示需要的内存会增加,并且sql同时计算的限制条数也要增加,导致系统报错或者卡死,故而用户可以根据自己的实际情况调整配置三的数值不建议特别大。
2.导出CSV为sql注入,所以导出是会存在样式以及格式的丢失,这个也是正常的,可能会存在跟报表计算出来的样式不一致的情况。