昨天实现了库存的Excel批量导入和导出,就记录一下这个功能的开发过程吧。
首先是找到ruoyi框架封装的一个注解@Excel,这个自定义注解被描述为自定义导出Excel数据注解,查看代码可以发现除了支持导出还有导入的功能:
这里只要给实体类的字段加上注解,结合另一个类ExcelUtil
public void exportExcel(HttpServletResponse response, List
除此之外该方法还支持传入一个sheetName作为导出表的名字,这里查看顶级导包就能发现该工具类使用了POI操作Excel,如Workbook包和XSSF包。
导出Excel的web关键语句为这一行,它指定了HTTP响应返回的文件类型和编码格式
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
写入的方法是操作数组实现,表格满足这样的数据结构,故只需要循环去取值就行,需要用到的sheet和Workbook类都是由POI提供的类。
将Excel的数据导入数据库则使用了importExcel方法,同样是在ExcelUtil工具类中的方法,只需传入一个流InputStream即可。
该方法对excel表单默认第一个索引名转换成list,同样使用POI的WorkbookFactory,用数组下标遍历取值。
取到数据以后直接调用写好的新增方法插入数据库即可,根据逻辑可以选择更新方法,即遇到相同数据是跳过还是选择更新,而且字段校验也可以在这里完成了。
参与评论
手机查看
返回顶部