本文共 1792 字,大约阅读时间需要 5 分钟。
先说导出
@SpringBootTest(classes = {ShujiegouApplication.class})@RunWith(SpringJUnit4ClassRunner.class)public class EasyPoiExportTest { @Autowired private SysColumnService sysColumnService; @Test public void test() throws Exception{ ListsysColumnAll = sysColumnService.getSysColumnAll(); //标题 表名 导出类型 HSSF xls XSSF xlsx ExportParams exportParams = new ExportParams("栏目表","column", ExcelType.XSSF); //1.导出参数对象 1.普通Java类的类对象(要导出的实体类的类对象) 3.一个集合 查询全部的用户信息 Workbook workbook = ExcelExportUtil.exportExcel(exportParams, SysColumn.class,sysColumnAll); workbook.write(new FileOutputStream(new File("E://easypoi.xlsx"))); }}
实体类代码
@Data@AllArgsConstructor@NoArgsConstructor@Table(name = "sys_column")public class SysColumn { @Id @Excel(name = "主键") private Integer id; @Excel(name = "列名") private String columnName; @Excel(name = "父id") private Integer parentId; @ExcelIgnore //忽略字段(属性) private Integer columnRank; @Excel(name = "跳转页面") private String enName;}
效果图
期间出现了一个异常 java.lang.IllegalArgumentException: lastRow < firstRow || lastCol < firstCol 原因是实体类上我没有加入 Easypoi的相关注解(例如 @Excel等等),加上即可。再说导入
@Test public void test1(){ //创建导入参数对象 ImportParams importParams = new ImportParams(); //设置标题占行数 importParams.setTitleRows(1); //设置表头占行数 importParams.setHeadRows(1); //参数:1,读取文件 2,对应的实体类 3,导入参数对象 ListsysColumns = ExcelImportUtil.importExcel(new File("E://easypoi.xlsx"), SysColumn.class, importParams); for (SysColumn sysColumn:sysColumns) { System.out.println(sysColumn); } }
控制台输出来的结果
既然我们已经获取到了数据,接下来我们只要往数据库添加数据即可。相较于之前写的poi是不是简单了很多呢?哈哈
这辈子坚持与不坚持都不可怕,怕的是独自走在坚持的道路上!
欢迎加入技术群聊!
转载地址:http://wkoai.baihongyu.com/