望各位大佬们给予思路【Spreadsheet】

呆呆的阿戴

问题描述

比如一个订单表,要导出10W条数据到Excel中,希望可以分批查询数据,追加到Excel中。有没有实现的案列?
1 一次性加载10W甚至更多的数据,可能内存回爆掉。
2 不知道如何进行Excel的追加操作。比如 分批从数据库中查询数据,每次查询1W条数据,我第一次查询1W条数据,导出1.xlsx 文件中。然后再查询第二次1W条数据,能否追加到 1.xlsx 中。

394 2 0
2个回答

ysian

导出excel一般都是把所有的数据处理到一个数组中,然后再去导出!
分配查询数据指的是什么?

  • 呆呆的阿戴 2024-08-23

    可是如果 订单表不加过滤条件,就是导出整张表。表的数据不断递增,达到数十万级别。如果再导出,全部放到一个数组中,能放下吗?内存不会被撑爆了吗?

  • 晚安。 2024-08-23

    分页查询导出

  • 呆呆的阿戴 2024-08-23

    分页查询 比如1W一次查询,是导出一个文件,还是多个文件。我是希望能导入一个文件中。所以是不是有Excel的追加操作。

  • 晚安。 2024-08-23

    一个文件

  • 晚安。 2024-08-23

    看你自己可以拆分几个文件 也可以写成一个文件,最后吧几个文件在弄成zip压缩包

小Z先生

根据自增ID游标查询, 比如第一次 id> 1 limit 10000 order id asc;
然后获取最后一个数据的id 假设是 10010 ,那么第二个查询就是 id> 10010 limit 10000 order id asc;

每次查询1w条数据写入excel
直到查不到数据就结束,如果excel有最大条数限制还需要根据数据数量新增sheet然后写入

  • 暂无评论
×
🔝