forked from fanruan/easyexcel
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
2.2 KiB
68 lines
2.2 KiB
6 years ago
|
package com.alibaba.excel.write.style;
|
||
|
|
||
|
import java.util.ArrayList;
|
||
|
import java.util.List;
|
||
|
|
||
|
import org.apache.poi.ss.usermodel.Cell;
|
||
|
import org.apache.poi.ss.usermodel.Workbook;
|
||
|
|
||
|
import com.alibaba.excel.metadata.CellStyle;
|
||
|
import com.alibaba.excel.metadata.Head;
|
||
|
import com.alibaba.excel.util.StyleUtil;
|
||
|
|
||
6 years ago
|
/**
|
||
|
*
|
||
|
* Use the same style for the row
|
||
|
*
|
||
|
* @author zhuangjiaju
|
||
|
*/
|
||
|
public class RowCellStyleStrategy extends AbstractCellStyleStrategy {
|
||
6 years ago
|
|
||
|
private CellStyle headCellStyle;
|
||
|
private List<CellStyle> contentCellStyleList;
|
||
|
|
||
|
private org.apache.poi.ss.usermodel.CellStyle poiHeadCellStyle;
|
||
|
private List<org.apache.poi.ss.usermodel.CellStyle> poiContentCellStyleList;
|
||
|
|
||
6 years ago
|
public RowCellStyleStrategy(CellStyle headCellStyle, List<CellStyle> contentCellStyleList) {
|
||
6 years ago
|
this.headCellStyle = headCellStyle;
|
||
|
this.contentCellStyleList = contentCellStyleList;
|
||
|
}
|
||
|
|
||
6 years ago
|
public RowCellStyleStrategy(CellStyle headCellStyle, CellStyle contentCellStyle) {
|
||
6 years ago
|
this.headCellStyle = headCellStyle;
|
||
|
contentCellStyleList = new ArrayList<CellStyle>();
|
||
|
contentCellStyleList.add(contentCellStyle);
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
protected void initCellStyle(Workbook workbook) {
|
||
6 years ago
|
if (headCellStyle != null) {
|
||
|
poiHeadCellStyle = StyleUtil.buildCellStyle(workbook, headCellStyle);
|
||
|
}
|
||
|
if (contentCellStyleList != null && !contentCellStyleList.isEmpty()) {
|
||
|
poiContentCellStyleList = new ArrayList<org.apache.poi.ss.usermodel.CellStyle>();
|
||
|
for (CellStyle cellStyle : contentCellStyleList) {
|
||
|
poiContentCellStyleList.add(StyleUtil.buildCellStyle(workbook, cellStyle));
|
||
|
}
|
||
6 years ago
|
}
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
protected void setHeadCellStyle(Cell cell, Head head, int relativeRowIndex) {
|
||
6 years ago
|
if (poiHeadCellStyle == null) {
|
||
|
return;
|
||
|
}
|
||
6 years ago
|
cell.setCellStyle(poiHeadCellStyle);
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
protected void setContentCellStyle(Cell cell, Head head, int relativeRowIndex) {
|
||
6 years ago
|
if (poiContentCellStyleList == null || poiContentCellStyleList.isEmpty()) {
|
||
|
return;
|
||
|
}
|
||
6 years ago
|
cell.setCellStyle(poiContentCellStyleList.get(relativeRowIndex % poiContentCellStyleList.size()));
|
||
|
}
|
||
|
|
||
|
}
|