forked from fanruan/easyexcel
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.4 KiB
47 lines
1.4 KiB
package com.alibaba.excel.converters.doubleconverter; |
|
|
|
import com.alibaba.excel.converters.Converter; |
|
import com.alibaba.excel.enums.CellDataTypeEnum; |
|
import com.alibaba.excel.metadata.GlobalConfiguration; |
|
import com.alibaba.excel.metadata.data.ReadCellData; |
|
import com.alibaba.excel.metadata.data.WriteCellData; |
|
import com.alibaba.excel.metadata.property.ExcelContentProperty; |
|
|
|
/** |
|
* Double and boolean converter |
|
* |
|
* @author Jiaju Zhuang |
|
*/ |
|
public class DoubleBooleanConverter implements Converter<Double> { |
|
private static final Double ONE = 1.0; |
|
private static final Double ZERO = 0.0; |
|
|
|
@Override |
|
public Class<?> supportJavaTypeKey() { |
|
return Double.class; |
|
} |
|
|
|
@Override |
|
public CellDataTypeEnum supportExcelTypeKey() { |
|
return CellDataTypeEnum.BOOLEAN; |
|
} |
|
|
|
@Override |
|
public Double convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty, |
|
GlobalConfiguration globalConfiguration) { |
|
if (cellData.getBooleanValue()) { |
|
return ONE; |
|
} |
|
return ZERO; |
|
} |
|
|
|
@Override |
|
public WriteCellData<?> convertToExcelData(Double value, ExcelContentProperty contentProperty, |
|
GlobalConfiguration globalConfiguration) { |
|
if (ONE.equals(value)) { |
|
return new WriteCellData<>(Boolean.TRUE); |
|
} |
|
return new WriteCellData<>(Boolean.FALSE); |
|
} |
|
|
|
}
|
|
|