黑豹程序员-阿里EasyExcel导入
2024-01-08 11:04:50
业务需求
实现excel内容导入到数据库中
依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.3.3</version>
</dependency>
代码
@PostMapping("/risk/product-dir/import")
public R excelToDb(@RequestParam("file") MultipartFile file) throws IOException {
// InputStream is = new FileInputStream("d:/x.xlsx"); //读取本地文件
InputStream is = file.getInputStream();
productDirService.importData(is);
return R.success("导入成功");
}
List<Object> dataList = EasyExcel.read(is).sheet().doReadSync();
如何指定excel和数据库列的对应关系
一般情况下excel导入的表格和数据库的表格对应,这样特别简单,EasyExcel一句话就实现。
实际业务较复杂。
1、导入数据时跳过表头
headRowNumber(1) 跳过第一行(表头)
List<Property> propertyList = EasyExcel.read(inputStream).head(Property.class).sheet().headRowNumber(1).doReadSync();
2、跳过部分字段
在@ExcelProperty中通过index=?,?为excel的sheet的列索引值,其索引值从0开始计算。
通过这个属性就可以实现实体字段和excel列的人工强行指定映射关系。
注意,早期版本有过@ExcelProertyIndex()的注解,新版都已经去掉,改成@ExcelProperty 的 index属性了
@ApiModelProperty(value = " 资产编码,不能重复")
@ExcelProperty(value = "资产编码", index = 0)
private String code;
文章来源:https://blog.csdn.net/nutony/article/details/135448911
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!