Easy Excel设置表格样式

1. 设置通用样式

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xxx.npi.config.easypoi.EasyExcelDateConverter;
import lombok.Data;
import org.apache.poi.ss.usermodel.FillPatternType;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.VerticalAlignment;

import java.util.Date;

@Data
@HeadFontStyle(fontHeightInPoints = 11, fontName = "Calibri", color = 9)
@HeadStyle(fillPatternType = FillPatternType.SOLID_FOREGROUND, fillForegroundColor = 30, leftBorderColor = 22,
        rightBorderColor = 22, topBorderColor = 22, bottomBorderColor = 22)
@ContentFontStyle(fontHeightInPoints = 11, fontName = "Calibri")
@ContentStyle(horizontalAlignment = HorizontalAlignment.CENTER, verticalAlignment = VerticalAlignment.CENTER)
@ColumnWidth(16)
@HeadRowHeight(33)
public class TransactionListVo {
   }

2. 指定字段样式

2.1列宽,表头名称,接口返回样式
	@ColumnWidth(value = 20)
    @ExcelProperty(value = "Transaction Date", converter = EasyExcelDateConverter.class)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy/MM/dd HH:mm:ss", timezone = "GMT+8")
    private Date datetime;
2.2 日期字段,设置输出样式
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;
import com.xxx.platform.util.DateUtil;

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


public class EasyExcelDateConverter implements Converter<Date> {
   
    @Override
    public Class supportJavaTypeKey() {
   
        return Date.class;
    }

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

    @Override
    public Date convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
   
        return parseDate(cellData);
    }

    @Override
    public CellData convertToExcelData(Date date, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
   
        return new CellData(parseString(date));
    }

    private Date parseDate(CellData cellData) throws ParseException {
   
        if (cellData.getType() == CellDataTypeEnum.STRING) {
   
            String dateSTR = cellData.getDataFormatString();
            Date date = DateUtil.stringToDate(dateSTR, DateUtil.formatStr_yyyyMMddHHmmss);
            return date;
        }
        return null;
    }

    private String parseString(Date date) throws ParseException {
   
        if (Objects.nonNull(date)) {
   
            String s = DateUtil.dateToString(date, DateUtil.formatStr_yyyyMMddHHmmss_1);
            return s;
        }
        return null;
    }

}

相关推荐

  1. Easy Excel设置表格样式

    2023-12-05 19:48:08       35 阅读
  2. table表格导出为excel文件并设置样式

    2023-12-05 19:48:08       41 阅读
  3. 前端经验:导出表格为excel并设置样式

    2023-12-05 19:48:08       9 阅读
  4. 阿里 EasyExcel 表头国际化

    2023-12-05 19:48:08       32 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-05 19:48:08       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-05 19:48:08       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-05 19:48:08       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-05 19:48:08       20 阅读

热门阅读

  1. 【前端】html不渲染换行\n\t\r等的问题

    2023-12-05 19:48:08       37 阅读
  2. CCF-CSP 202303-2 垦田计划

    2023-12-05 19:48:08       35 阅读
  3. 山东济南原画培训机构如何选择?

    2023-12-05 19:48:08       39 阅读
  4. C++之常用的三类数据结构--栈、队列、数组

    2023-12-05 19:48:08       40 阅读
  5. 【Android】IntentService

    2023-12-05 19:48:08       38 阅读