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

com.github.shaohj.sstool.poiexpand.common.bean.write.tag.ConstTagData Maven / Gradle / Ivy

package com.github.shaohj.sstool.poiexpand.common.bean.write.tag;

import com.github.shaohj.sstool.poiexpand.common.bean.read.RowData;
import com.github.shaohj.sstool.poiexpand.common.bean.write.WriteSheetData;
import com.github.shaohj.sstool.poiexpand.common.util.write.TagUtil;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.streaming.SXSSFSheet;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * 编  号:
 * 名  称:ConstTagData
 * 描  述:常量标签块
 * 完成日期:2019/6/19 23:37
 * @author:felix.shao
 */
@Data
@EqualsAndHashCode(callSuper = false)
@NoArgsConstructor
public class ConstTagData extends TagData{

    /** 常量块的内容需要写入,和读取excel模板行数据一致 */
    protected List readRowData;

    public ConstTagData(List readRowData) {
        this.readRowData = readRowData;
    }

    public void addRowData(RowData rowData){
        if(null == readRowData){
            //一般标签内的excel行数不会太多,设置为4吧
            readRowData = new ArrayList<>(4);
        }
        readRowData.add(rowData);
    }

    @Override
    public String getRealExpr() {
        return String.valueOf(value);
    }

    @Override
    public void writeTagData(Workbook writeWb, SXSSFSheet writeSheet, WriteSheetData writeSheetData,
                             Map params, Map writeCellStyleCache) {
        int curWriteRowNum = writeSheetData.getCurWriteRowNum();
        TagUtil.writeTagData(writeWb, writeSheet, writeSheetData, readRowData, params, writeCellStyleCache);

        TagUtil.writeTagMergeRegion(allCellRangeAddress, curWriteRowNum, writeWb, writeSheet, writeSheetData);
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy