easyexcel大数据量(百万数据),写入到excel

Posted qq_40711092

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了easyexcel大数据量(百万数据),写入到excel相关的知识,希望对你有一定的参考价值。

代码

    /**
     * easyexcel大数据量(百万数据),写入到excel
     */
    @Test
    void bigData() throws FileNotFoundException 
        //输出流,确定文件存放位置
        FileOutputStream fileOutputStream = new FileOutputStream("E:\\\\tmp\\\\user.xlsx");
        //所有数据
        ArrayList<User> users = new ArrayList<>();
        for (int i = 0; i < 100 * 30000; i++) 
            User user = new User();
            user.setCjsj(new Date().toString());
            user.setId(i);
            user.setLxfs(i + "");
            user.setYxds("广州");
            user.setTzqy("广东");
            users.add(user);
        
        //将数据切分成多个,放置到不同的sheet
        ArrayList<List<User>> objects = new ArrayList<>();
        int size = 100 * 200;
        int sheetNum = users.size() / size + (users.size() % size > 0 ? 1 : 0);
        for (int i = 0; i < sheetNum; i++) 
            objects.add(users.subList(i * size, (i + 1) * size <= users.size() ? (i + 1) * size : users.size()));
        
        ExcelWriter build = EasyExcel.write(fileOutputStream, User.class)
                .build();
        //将数据写入到excel,循环写入
        for (int i = 0; i < objects.size(); i++) 
            build.write(objects.get(i), EasyExcel.writerSheet("表格" + i).build());
        
        build.finish();
    

以上是关于easyexcel大数据量(百万数据),写入到excel的主要内容,如果未能解决你的问题,请参考以下文章

如何高效的导出 百万级别的数据量 到 Excel?

基于EasyExcel实现百万级数据导入导出

为啥不可以使用delete from---语句删除数据量比较大的表(百万级)中的数据?

十万级百万级数据量的Excel文件导入并写入数据库

EasyExcel封装一个分页写数据的通用方法(保姆级),继上一篇easyExcel导出上线后的优化

还在用 POI?试试 EasyExcel,轻松导出 100W 数据,不卡死,好用到爆!