package com.qmth.paper.library.common.annotation.excelStyle;

import org.apache.poi.ss.usermodel.*;

import java.lang.annotation.*;

/**
 * @Description: excel单元格格式 - 数据内容格式注解
 * @Author: CaoZixuan
 * @Date: 2022-07-21
 */
@Documented
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ExcelDataStyle {
    // 文字位置

    /**
     * 水平方向
     *
     * @return 居左
     */
    HorizontalAlignment horizontal() default HorizontalAlignment.LEFT;

    /**
     * 垂直方向
     *
     * @return 居中
     */
    VerticalAlignment vertical() default VerticalAlignment.CENTER;

    // 边框线条

    /**
     * 上边框线条
     *
     * @return 默认细实线
     */
    BorderStyle borderTop() default BorderStyle.NONE;

    /**
     * 下边框线条
     *
     * @return 默认细实线
     */
    BorderStyle borderBottom() default BorderStyle.NONE;

    /**
     * 左边框线条
     *
     * @return 默认细实线
     */
    BorderStyle borderLeft() default BorderStyle.NONE;

    /**
     * 右边框线条
     *
     * @return 默认细实线
     */
    BorderStyle borderRight() default BorderStyle.NONE;

    // 边框默认颜色黑色Color(0, 0, 0)
    int borderColorRed() default 0;

    int borderColorGreen() default 0;

    int borderColorBlue() default 0;

    // 背景
    FillPatternType fillPartner() default FillPatternType.NO_FILL;

    // 背景颜色默认白色Color(255, 255, 255)
    int fillColorRed() default 255;

    int fillColorGreen() default 255;

    int fillColorBlue() default 255;

    // 字体

    /**
     * 字体大小
     *
     * @return 默认10
     */
    short fontSize() default 10;

    /**
     * 字体名称
     *
     * @return 默认宋体
     */
    String fontName() default "宋体";

    // 字体颜色默认黑色
    IndexedColors fontColor() default IndexedColors.BLACK1;

    //单元格锁定
    boolean lock() default false;
}
