赞
踩
- import com.alibaba.excel.converters.Converter;
- import com.alibaba.excel.enums.CellDataTypeEnum;
- import com.alibaba.excel.metadata.CellData;
- import com.alibaba.excel.metadata.GlobalConfiguration;
- import com.alibaba.excel.metadata.property.ExcelContentProperty;
-
- public class LoginStatusConverter implements Converter<String> {
- //在java中状态是用 0 1 来标识的 所以是int
- @Override
- public Class supportJavaTypeKey() {return Integer.class;}
- // 在excel中是“登录”“未登录” 所以是string
- @Override
- public CellDataTypeEnum supportExcelTypeKey() {return CellDataTypeEnum.STRING;}
- //将excel的数据类型转为java数据类型
- @Override
- public Integer convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
- String stringValue = cellData.getStringValue();
- if (stringValue == null) {
- throw new RuntimeException("登录状态填写为空");
- }
- if ("登录".equals(stringValue)) {
- return 1;
- }
- return 0;
- }
- //将java的数据类型转为excel数据类型
- @Override
- public CellData convertToExcelData(Integer s, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
- if (s == 0){
- return new CellData("未登录");
- }
- return new CellData("登录");
- }
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
然后在实体类的字段上标注 converter
- @ExcelProperty(value = "登录状态",index=3,converter=LoginStatusConverter.class)
- private Integer loginStatus;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。