这几天一直在忙工作中的事情,在工作中有一个问题,可能是因为刚开始接触这个EasyPoi,对其也没有太多的理解,在项目中就使用了,有一个需求,是要导出项目中所有的表格,今天就对这个需求进行分析和实现吧;
需求:导出项目中所有的表格,导出文件为Excel;
技术:EasyPoi (现在市面上非常流行的offic操作技术)
我一直在采用注解实现,就是为每个表格都实现一个ExportExcelVo这个一个后缀的实现类;
但是表格太多了,当时也没有什么好的办法,也是对EasyPoi的不熟悉吧,em...,说白了就是自己菜,在清明节放假这几天好好学习一下,
推复杂的表格推荐使用注解,实现类,可以精确到控制每个字段的格式化,样式,合并单元格等等属性;具体的去官网看;
但是这个需求并不复杂,而且表格也不复杂,本人还花费了大量时间,感觉到了知识的不足,但是每个人也不可能什么都会,最重要的不是什么都会,而是愿意花时间去学习,知识就是一点点累计的;
今天来讲一下EasyPoi导出Excel动态列,并控制列的宽度和顺序,和做的时候碰见的一些问题;
二话不说上代码
数据样例
Data.java
1 package ExcelExport;
2
3 /**
4 * Excel动态列导出 测试数据样例
5 */
6 public interface Data {
// 列头1
7 String col1String = "{\n" +
8 " \"fileName\":\"存储名称\",\n" +
9 " \"fileType\":\"存储方式\",\n" +
10 " \"ip\":\"ip地址\",\n" +
11 " \"port\":\"端口号\",\n" +
12 " \"file\":\"存放路径\",\n" +
13 " \"bangFc\":\"绑定文件\",\n" +
14 " \"isEnabled\":\"是否启用\",\n" +
15 " \"createTime\":\"创建时间\",\n" +
16 " \"createName\":\"创建人姓名\",\n" +
17 " \"updateTime\":\"更新时间\",\n" +
18 " \"updateName\":\"更新人姓名\"\n" +
19 "}";
// 列头2
20 String col2