DateStringConverter.java 1.5 KB
Newer Older
Z
zhuangjiaju 已提交
1 2 3 4 5 6 7 8
package com.alibaba.excel.converters.date;

import java.text.ParseException;
import java.util.Date;

import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.CellData;
Z
zhuangjiaju 已提交
9
import com.alibaba.excel.metadata.property.ExcelContentProperty;
Z
zhuangjiaju 已提交
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
import com.alibaba.excel.util.DateUtils;

/**
 * Date and string converter
 *
 * @author zhuangjiaju
 */
public class DateStringConverter implements Converter<Date> {
    @Override
    public Class supportJavaTypeKey() {
        return Date.class;
    }

    @Override
    public CellDataTypeEnum supportExcelTypeKey() {
        return CellDataTypeEnum.STRING;
    }

    @Override
Z
zhuangjiaju 已提交
29
    public Date convertToJavaData(CellData cellData, ExcelContentProperty contentProperty) throws ParseException {
Z
zhuangjiaju 已提交
30
        if (contentProperty == null || contentProperty.getDateTimeFormatProperty() == null) {
Z
zhuangjiaju 已提交
31 32 33 34 35
            return DateUtils.parseDate(cellData.getStringValue(), null);
        } else {
            return DateUtils.parseDate(cellData.getStringValue(),
                contentProperty.getDateTimeFormatProperty().getFormat());
        }
Z
zhuangjiaju 已提交
36 37 38
    }

    @Override
Z
zhuangjiaju 已提交
39
    public CellData convertToExcelData(Date value, ExcelContentProperty contentProperty) {
Z
zhuangjiaju 已提交
40
        if (contentProperty == null || contentProperty.getDateTimeFormatProperty() == null) {
Z
zhuangjiaju 已提交
41 42 43 44
            return new CellData(DateUtils.format(value, null));
        } else {
            return new CellData(DateUtils.format(value, contentProperty.getDateTimeFormatProperty().getFormat()));
        }
Z
zhuangjiaju 已提交
45 46
    }
}