基本信息
源码名称:快速、简单避免OOM的java处理Excel工具
源码大小:0.36M
文件格式:.zip
开发语言:Java
更新时间:2019-03-19
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel重写了poi对07版Excel的解析,能够原本一个3M的excel用POI sax依然需要100M左右内存降低到KB级别,并且再大的excel不会出现内存溢出,03版依赖POI的sax模式。在上层做了模型转换的封装,让使用者更加简单方便
支持多表头
ExcelWriter writer = EasyExcelFactory.getWriter(out); //写第一个sheet, sheet1 数据全是List<String> 无模型映射关系 Sheet sheet1 = new Sheet(1, 3); sheet1.setSheetName("第一个sheet"); //设置列宽 设置每列的宽度 Map columnWidth = new HashMap(); columnWidth.put(0,10000);columnWidth.put(1,40000);columnWidth.put(2,10000);columnWidth.put(3,10000); sheet1.setColumnWidthMap(columnWidth); sheet1.setHead(createTestListStringHead()); //or 设置自适应宽度 //sheet1.setAutoWidth(Boolean.TRUE); writer.write1(createTestListObject(), sheet1); //写第二个sheet sheet2 模型上打有表头的注解,合并单元格 Sheet sheet2 = new Sheet(2, 3, JavaModel1.class, "第二个sheet", null); sheet2.setTableStyle(createTableStyle()); writer.write(createTestListJavaMode(), sheet2); //写第三个sheet包含多个table情况 Sheet sheet3 = new Sheet(3, 0); sheet3.setSheetName("第三个sheet"); Table table1 = new Table(1); table1.setHead(createTestListStringHead()); writer.write1(createTestListObject(), sheet3, table1); //写sheet2 模型上打有表头的注解 Table table2 = new Table(2); table2.setTableStyle(createTableStyle()); table2.setClazz(JavaModel1.class); writer.write(createTestListJavaMode(), sheet3, table2); //关闭资源 writer.finish(); out.close();