前言
EXCEL导入
一、所需sdk
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.0.5</version>
</dependency>
二、util类
1.demo
代码如下(示例):
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.*;
import com.alibaba.excel.enums.BooleanEnum;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import com.alibaba.excel.enums.poi.VerticalAlignmentEnum;
import lombok.Data;
@Data
@ColumnWidth(20)
@HeadRowHeight(20)
@ContentRowHeight(20)
@HeadFontStyle(bold = BooleanEnum.FALSE)
@HeadStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER,verticalAlignment = VerticalAlignmentEnum.CENTER)
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER,verticalAlignment = VerticalAlignmentEnum.CENTER)
@ContentFontStyle(bold = BooleanEnum.FALSE)
public class TestExcel {
@ExcelProperty(value = "xx",index = 0)
Integer sort;
@ExcelProperty(value = "xx",index = 1)
String xx;
@ExcelProperty(value = "xx",index = 2)
String xx;
}
2.具体实现
代码如下(示例):
//导入表格
@PostMapping("/importExcel")
public R importExcel(MultipartFile file) throws IOException {
List<TestExcel > testExcels = EasyExcel.read(new BufferedInputStream(file.getInputStream())).head(TestExcel.class).doReadAllSync();
if (testExcels == null)
return R.error("数据不能为空");
if (CollUtil.isNotEmpty(testExcels )) {
List<test> list = new ArrayList<>();
//-----业务处理
for (int i = 0; i < testExcels .size(); i++) {
Test test= new Test ();
//验证是否为空
if (testExcels .get(i).getxx() == "")
return R.error("");
test.setxx(testExcels .get(i).getxx());
test.setxx(testExcels .get(i).getxx());
test.setxx(testExcels .get(i).getxx());
list.add(test);
}
return data(list);
}
return R.error("导入失败");
}
总结
excel 导入