🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 说明 * 在日常需求中我们经常会碰到导入导出数据的需求。 * JPower考虑到这种情况,统一进行了实现。 ## 如何使用 * JPower是针对Entity进行数据的导入导出,需要在Entity类加入@Excel注解。 ![](https://img.kancloud.cn/29/c9/29c9a63b83143d2c0868a7266a487cd1_1702x1246.png) * 我们把需要导入导出的字段上加入@Excel注解即可。 * @Excel注解属性具体用法可查看`com.wlcb.jpower.module.base.annotation.Excel`类里的注释; ![](https://img.kancloud.cn/6e/c7/6ec7ad0612d8c95cc30bf05b58a0dc6a_535x1255.png) * 在Entity类中我们加入好@Excel注解之后,我们就可以调用工具类实现模板下载、数据导入、数据导出。 ## 模板下载 * 一般在数据导入前都有统一的数据模板,我们可以针对Entity调用工具类实现模板的下载,具体用法如下 ~~~ BeanExcelUtil<TbCoreUser> beanExcelUtil = new BeanExcelUtil<>(TbCoreUser.class,ImportExportConstants.EXPORT_TEMPLATE_PATH); String fileName = beanExcelUtil.template("用户模板"); File file = new File(beanExcelUtil.getAbsoluteFile(fileName)); ~~~ * 这样我们就得到了模板的文件(File),示例中我们是以`TbCoreUser`这个Entity为例。 ## 数据导入 * 比如我们要导入数据到`TbCoreUser`这个Entity,具体代码如下 ~~~ BeanExcelUtil<TbCoreUser> beanExcelUtil = new BeanExcelUtil<>(TbCoreUser.class); //参数为上传文件 List<TbCoreUser> list = beanExcelUtil.importExcel(saveFile); ~~~ * 这样我们就把上传的文件成功转换到`TbCoreUser`这个list中 ## 数据导出 * 比如我们要导出用户列表,我们查出用户列表list后,使用工具类进行生成excel,具体用法如下 ~~~ BeanExcelUtil<UserVo> beanExcelUtil = new BeanExcelUtil<>(UserVo.class,ImportExportConstants.EXPORT_PATH); //第一个参数是查出的数据list,第二个参数是sheet名称 ResponseData responseData = beanExcelUtil.exportExcel(list,"用户列表"); File file = new File(ImportExportConstants.EXPORT_PATH+responseData.getData()); ~~~ * 这样我们就得到了生成后的Excel文件,我们可以进行下载或者其他操作。 ## 注意项 * JPower针对导入导出可以有很多设置,有兴趣的大家可以自行研究,具体配置可以查看@Excel; * 针对一些特别复杂导入导出的需求,建议还是代码写死来实现;这里只是提供一种比较通用的工具类;