基於alibaba/easyexcel
進行樣式擴展封裝而來的,增加了一些樣式註解
可以解決什麼問題
- 註解式樣式
- 代碼自定義單元格樣式處理鏈 -> addCustomCellStyleHandler
- 凍結行列樣式
- 合併單元格樣式
- 設置內容下拉框
- 背景顏色
- 字體設置
- 列寬度設置
- 邊框樣式
- 居中方式
- 是否換行
效果
DEMO
model代碼示例
@CellFreeze(freezeRow = 2, freezeCol = 2)
// 寬度默認值
@ColumnWidth(width = 40)
// 同時作用於表標題和內容的樣式默認值
@CellStyle(fontStyle = @FontStyle(color = IndexedColors.LIGHT_BLUE, size = 14))
public class MyModel1 extends BaseRowModel {
// easyexcel 解析註解
@ExcelProperty(value={"pri", "pr1"}, index = 0)
private String pr1;
@ExcelProperty(value={"pri", "pr2"}, index = 1)
private String pr2;
@ExcelProperty(value = {"propValue1"}, index = 2)
// 數組方式指定的下拉框約束
@ExplicitConstraint(source = {"aaa1", "aaa2", "aaa3"})
@ColumnWidth(width = 100)
private String propValue1;
@ExcelProperty(value = {"propValue2"}, index = 3)
@ExplicitConstraint(enumSource = MyConstraintEnum.class)
private String propValue2;
@ExcelProperty(value = {"score"}, index = 4)
@ColumnWidth(width = 50)
private Integer score;
@ExcelProperty(value = {"date"}, index = 5, format = "yyyy-MM-dd HH:mm:ss")
private Date date;
public String getPr1() {
return pr1;
}
public void setPr1(String pr1) {
this.pr1 = pr1;
}
public String getPr2() {
return pr2;
}
public void setPr2(String pr2) {
this.pr2 = pr2;
}
public String getPropValue1() {
return propValue1;
}
public void setPropValue1(String propValue1) {
this.propValue1 = propValue1;
}
public String getPropValue2() {
return propValue2;
}
public void setPropValue2(String propValue2) {
this.propValue2 = propValue2;
}
public Integer getScore() {
return score;
}
public void setScore(Integer score) {
this.score = score;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
}
詳細調用代碼戳下方鏈接
引用
<dependency>
<groupId>com.uetty</groupId>
<artifactId>common-excel</artifactId>
<version>1.0.3</version>
</dependency>