AbstractRowHeightStyleStrategy.java 1.5 KB
Newer Older
Z
zhuangjiaju 已提交
1 2 3 4
package com.alibaba.excel.write.style.row;

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

Z
zhuangjiaju 已提交
5
import com.alibaba.excel.event.NotRepeatExecutor;
Z
zhuangjiaju 已提交
6 7
import com.alibaba.excel.write.metadata.holder.SheetHolder;
import com.alibaba.excel.write.metadata.holder.TableHolder;
Z
zhuangjiaju 已提交
8
import com.alibaba.excel.write.handler.RowWriteHandler;
Z
zhuangjiaju 已提交
9

Z
zhuangjiaju 已提交
10 11 12 13 14 15
/**
 * Set the row height strategy
 * 
 * @author zhuangjiaju
 */
public abstract class AbstractRowHeightStyleStrategy implements RowWriteHandler, NotRepeatExecutor {
Z
zhuangjiaju 已提交
16 17 18 19 20

    @Override
    public String uniqueValue() {
        return "RowHighStyleStrategy";
    }
Z
zhuangjiaju 已提交
21 22 23

    @Override
    public void beforeRowCreate(SheetHolder sheetHolder, TableHolder tableHolder, int rowIndex, int relativeRowIndex,
Z
zhuangjiaju 已提交
24
                                boolean isHead) {
Z
zhuangjiaju 已提交
25 26 27 28 29

    }

    @Override
    public void afterRowCreate(SheetHolder sheetHolder, TableHolder tableHolder, Row row, int relativeRowIndex,
Z
zhuangjiaju 已提交
30
                               boolean isHead) {
Z
zhuangjiaju 已提交
31
        if (isHead) {
Z
zhuangjiaju 已提交
32
            setHeadColumnHeight(row, relativeRowIndex);
Z
zhuangjiaju 已提交
33
        } else {
Z
zhuangjiaju 已提交
34
            setContentColumnHeight(row, relativeRowIndex);
Z
zhuangjiaju 已提交
35 36 37
        }
    }

Z
zhuangjiaju 已提交
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
    /**
     * Sets the height of header
     * 
     * @param row
     * @param relativeRowIndex
     */
    protected abstract void setHeadColumnHeight(Row row, int relativeRowIndex);

    /**
     * Sets the height of content
     * 
     * @param row
     * @param relativeRowIndex
     */
    protected abstract void setContentColumnHeight(Row row, int relativeRowIndex);
Z
zhuangjiaju 已提交
53 54

}