发个博客推广一下alibaba的easyExcel,以一些我使用的体会技巧。
我理解easyexcel就是在poi上进行了优化和封装,性能的道路极高的改善。极高,官网测试1:100的速度。
在使用上也极度好理解,就是把excel抽象成二维数组,我们只需要注意数据类型及表格样式,在二维数组中设置。就可以实现自己想看的功能。比以前poi或其他的使用,简单超多倍。
easyexcel github连接:https://github.com/alibaba/easyexcel
官网有很多案例,我写我用怎么用的,上代码。
@Test
public void test01() throws Exception {
OutputStream out = new FileOutputStream(
"C:/Users/Administrator/Desktop/test.xls");
ExcelWriter writer = new ExcelWriter(out, ExcelTypeEnum.XLS, false);
// 写第一个sheet, sheet1 数据全是List<String> 无模型映射关系
Sheet sheet1 = new Sheet(1,0);
sheet1.setSheetName("玫瑰图");
// 去掉表头 如果不设置,在不设置表头,总是从第二行开始有数据
sheet1.setStartRow(-1);
int colWidth = 2400;
// 设置列宽 设置每列的宽度
Map columnWidth = new HashMap();
for (int i = 0; i < 17; i++) {
columnWidth.put(i,colWidth);
}
sheet1.setColumnWidthMap(columnWidth);
writer.write0(createTestListString(), sheet1);
writer.finish();
out.close();
}
private static List<List<String>> createTestListString() {
List<List<String>> object = new ArrayList<List<String>>();
for (int i = 0; i < 10; i++) {
List<String> da = new ArrayList<String>();
da.add("");
da.add("字符串"+i);
da.add("字符串"+i);
da.add("字符串"+i);
da.add("字符串"+i);
da.add("字符串"+i);
da.add("字符串"+i);
da.add("字符串"+i);
object.add(da);
}
return object;
}
然后就可以看到生成的excel了。
在无耻的沾一下人家web下载案例:
public class Down {
@GetMapping("/a.htm")
public void cooperation(HttpServletRequest request, HttpServletResponse response) {
ServletOutputStream out = response.getOutputStream();
response.setContentType("multipart/form-data");
response.setCharacterEncoding("utf-8");
response.setHeader("Content-disposition", "attachment;filename="+fileName+".xlsx");
ExcelWriter writer = new ExcelWriter(out, ExcelTypeEnum.XLSX, true);
String fileName = new String(("UserInfo " + new SimpleDateFormat("yyyy-MM-dd").format(new Date()))
.getBytes(), "UTF-8");
Sheet sheet1 = new Sheet(1, 0);
sheet1.setSheetName("第一个sheet");
writer.write0(getListString(), sheet1);
writer.finish();
out.flush();
}
}
}
主要还推广和我的理解。
java操作easyexcel环境cglib-3.1.jar commons-collections4-4.1.jar easyexcel-1.1.2-beta5.jar junit-4.10.jar poi-3.17.jar poi-ooxml-3.17.jar poi-ooxml-schemas
环境jar包下载链接:https://download.csdn.net/download/zl15145428/11317546