比如一个订单表,要导出10W条数据到Excel中,希望可以分批查询数据,追加到Excel中。有没有实现的案列? 1 一次性加载10W甚至更多的数据,可能内存回爆掉。 2 不知道如何进行Excel的追加操作。比如 分批从数据库中查询数据,每次查询1W条数据,我第一次查询1W条数据,导出1.xlsx 文件中。然后再查询第二次1W条数据,能否追加到 1.xlsx 中。
导出excel一般都是把所有的数据处理到一个数组中,然后再去导出! 分配查询数据指的是什么?
可是如果 订单表不加过滤条件,就是导出整张表。表的数据不断递增,达到数十万级别。如果再导出,全部放到一个数组中,能放下吗?内存不会被撑爆了吗?
分页查询导出
分页查询 比如1W一次查询,是导出一个文件,还是多个文件。我是希望能导入一个文件中。所以是不是有Excel的追加操作。
一个文件
看你自己可以拆分几个文件 也可以写成一个文件,最后吧几个文件在弄成zip压缩包
根据自增ID游标查询, 比如第一次 id> 1 limit 10000 order id asc; 然后获取最后一个数据的id 假设是 10010 ,那么第二个查询就是 id> 10010 limit 10000 order id asc;
每次查询1w条数据写入excel 直到查不到数据就结束,如果excel有最大条数限制还需要根据数据数量新增sheet然后写入
导出excel一般都是把所有的数据处理到一个数组中,然后再去导出!
分配查询数据指的是什么?
可是如果 订单表不加过滤条件,就是导出整张表。表的数据不断递增,达到数十万级别。如果再导出,全部放到一个数组中,能放下吗?内存不会被撑爆了吗?
分页查询导出
分页查询 比如1W一次查询,是导出一个文件,还是多个文件。我是希望能导入一个文件中。所以是不是有Excel的追加操作。
一个文件
看你自己可以拆分几个文件 也可以写成一个文件,最后吧几个文件在弄成zip压缩包
根据自增ID游标查询, 比如第一次 id> 1 limit 10000 order id asc;
然后获取最后一个数据的id 假设是 10010 ,那么第二个查询就是 id> 10010 limit 10000 order id asc;
每次查询1w条数据写入excel
直到查不到数据就结束,如果excel有最大条数限制还需要根据数据数量新增sheet然后写入