获取到数据循环写文件

49 阅读1分钟
/**
     * 取数初始值,
     */
    static int start = 1;
    /**
     * 每次处理数据值
     */
    static int batchCount = 100;
 public List getData() {
//1要么操作这个数据
        List<SheetData> sheetDataList = new ArrayList();
        PageInfo pageInfo = new PageInfo(start, batchCount);
        //获取总数
        Long count = ;
        if (count < 1) {
            return sheetDataList;
        }
        //获取数据
        List<Map<String, Object>> m = p.getdata(pageInfo);
        Long cycleIndex = count % batchCount == 0 ? count / batchCount : count / batchCount + 1;
        SheetData sheetData = new SheetData();
        for (int i = 0; i < cycleIndex; i++) {
            for (Map<String, Object> next : m) {
                //防止循环多次空跑数据的情形
                if (next == null) {
                    break;
                }  
            }
//2要么操作这个数据
//写文件获取其他操作
            m.clear();
            pageInfo = new PageInfo(start + 1 + i, batchCount);
            m = p.getdatat(pageInfo);
        }
        return sheetDataList;
    }

image.gif

在这其中可以获取数据操作其他动作,减少数据太大引起的风险