天天看點

java使用多線程導出excel

前言

在一個業務中,需要将資料庫的一張日志表導出到excel中做統計分析歸類,由于單表的資料量特别大,發現在最終導出excel的時候,由于數量太大,導出速度特别慢,想了一些辦法,不管使用何種API,單線程始終是操作的瓶頸,是以最終考慮使用多線程進行改善

總體思路:

1、資料總量分段

2、每個線程處理不同分段的資料

3、送出線程池

下面來看具體的代碼,為測試友善,這裡直接使用一個測試接口進行調用,

1、控制器

/**
     * 導出系統日志資訊-V2測試
     *
     * @return
     */
    @GetMapping("/log-export/v2")
    @ApiOperation(value = "導出系統日志資訊V2", notes = "導出系統日志資訊V2", produces = "application/json")
    public void exportSysLogV2(@RequestParam(name = "userName", required = false) String userName,
                             @RequestParam(name = "startDate", required = false) String startDate,
                             @RequestParam(name = "endDate", required = false) String
           

繼續閱讀