比如一個(gè)訂單表,要導(dǎo)出10W條數(shù)據(jù)到Excel中,希望可以分批查詢(xún)數(shù)據(jù),追加到Excel中。有沒(méi)有實(shí)現(xiàn)的案列?
1 一次性加載10W甚至更多的數(shù)據(jù),可能內(nèi)存回爆掉。
2 不知道如何進(jìn)行Excel的追加操作。比如 分批從數(shù)據(jù)庫(kù)中查詢(xún)數(shù)據(jù),每次查詢(xún)1W條數(shù)據(jù),我第一次查詢(xún)1W條數(shù)據(jù),導(dǎo)出1.xlsx 文件中。然后再查詢(xún)第二次1W條數(shù)據(jù),能否追加到 1.xlsx 中。
導(dǎo)出excel一般都是把所有的數(shù)據(jù)處理到一個(gè)數(shù)組中,然后再去導(dǎo)出!
分配查詢(xún)數(shù)據(jù)指的是什么?
根據(jù)自增ID游標(biāo)查詢(xún), 比如第一次 id> 1 limit 10000 order id asc;
然后獲取最后一個(gè)數(shù)據(jù)的id 假設(shè)是 10010 ,那么第二個(gè)查詢(xún)就是 id> 10010 limit 10000 order id asc;
每次查詢(xún)1w條數(shù)據(jù)寫(xiě)入excel
直到查不到數(shù)據(jù)就結(jié)束,如果excel有最大條數(shù)限制還需要根據(jù)數(shù)據(jù)數(shù)量新增sheet然后寫(xiě)入