All Downloads are FREE. Search and download functionalities are using the official Maven repository.

hsim.checkpoint.util.excel.PoiCellStyle Maven / Gradle / Ivy

package hsim.checkpoint.util.excel;

import lombok.Getter;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.BorderStyle;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.VerticalAlignment;

/**
 * The type Poi cell style.
 */
@Getter
public class PoiCellStyle {

    private static final short DATE_FORMAT_VALUE = 0xe;
    private HSSFCellStyle numberCs;
    private HSSFCellStyle stringCs;
    private HSSFCellStyle dateCs;

    /**
     * Instantiates a new Poi cell style.
     *
     * @param workBook the work book
     */
    public PoiCellStyle(PoiWorkBook workBook) {

        this.stringCs = this.getDefaultExcelCellStyle(workBook);

        this.numberCs = this.getDefaultExcelCellStyle(workBook);
        this.numberCs.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0"));
        this.numberCs.setAlignment(HorizontalAlignment.RIGHT);

        this.dateCs = this.getDefaultExcelCellStyle(workBook);
        this.dateCs.setDataFormat(DATE_FORMAT_VALUE);
    }

    private HSSFCellStyle getDefaultExcelCellStyle(PoiWorkBook daouWorkBook) {

        HSSFWorkbook wb = daouWorkBook.getWorkBook();

        HSSFCellStyle cs = wb.createCellStyle();
        cs.setAlignment(HorizontalAlignment.CENTER);
        cs.setVerticalAlignment(VerticalAlignment.CENTER);
        cs.setBorderTop(BorderStyle.THIN);
        cs.setBorderRight(BorderStyle.THIN);
        cs.setBorderLeft(BorderStyle.THIN);
        cs.setBorderBottom(BorderStyle.THIN);

        return cs;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy