EasyExcelFactory 導入導出功能的實戰(zhàn)使用分享:
1、jar包引入
<!-- 阿里巴巴Excel處理-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.0.6</version>
</dependency>
2、excel文檔準備
注意:首行名稱要和后面實體類里注解的名稱保持一樣,否則失效。
3、實體類
@Data
@HeadRowHeight(20)
@ColumnWidth(20)
public class DemoData {
@ExcelProperty("id")
private Long id;
@ExcelProperty("name")
private String name;
@ExcelProperty("model")
private String model;
@ExcelProperty("tail")
private String tail;
}
4、控制層接口樣例
@PostMapping("/import/userBox")
public ResponseResult<Boolean> importUserBox(
@RequestParam("file") MultipartFile file,
@RequestParam("start") Integer start,
@RequestParam(value = "sheetNo", required = false, defaultValue = "0") Integer sheetNo) {
try {
UserBoxConfigListener listener = new UserBoxConfigListener();
EasyExcelFactory
.read(file.getInputStream(), UserBoxConfigBo.class, listener)
.sheet(sheetNo)
.headRowNumber(start);
List<UserBoxConfigAddReq> list = listener.getList();
return ResponseResult.success(userBoxConfigService.batchAdd(list));
} catch (Exception e) {
e.printStackTrace();
return ResponseResult.error(e.getMessage());
}
}
5、監(jiān)聽類繼承
@Slf4j
public class UserBoxConfigListener extends AnalysisEventListener<UserBoxConfigBo> {
private List<UserBoxConfigAddReq> list;
public UserBoxConfigListener() {
list = new ArrayList<>();
}
@Override
public void invoke(UserBoxConfigBo data, AnalysisContext context) {
UserBoxConfigAddReq item = BeanUtil.copy(data, UserBoxConfigAddReq.class);
list.add(item);
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
log.info("表格成功解析");
}
public List<UserBoxConfigAddReq> getList() {
return list;
}
}
?
6、postman 接口調(diào)用
調(diào)用后成功解析獲取到數(shù)據(jù)。
參考文章:基本使用
基本配置
使用演示文章來源:http://www.zghlxwxcb.cn/news/detail-817602.html
到此、告一段落,后期我們會分享其高級用法,敬請期待!文章來源地址http://www.zghlxwxcb.cn/news/detail-817602.html
到了這里,關于EasyExcelFactory 導入導出功能的實戰(zhàn)使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!