Procházet zdrojové kódy

横向循环的时候宽度设置

4.1.3.A
jueyue před 5 roky
rodič
revize
c31417674c
3 změnil soubory, kde provedl 17 přidání a 3 odebrání
  1. +4
    -0
      easypoi-annotation/src/main/java/cn/afterturn/easypoi/excel/annotation/CellStyler.java
  2. +4
    -0
      easypoi-base/src/main/java/cn/afterturn/easypoi/excel/entity/params/ExcelForEachParams.java
  3. +9
    -3
      easypoi-base/src/main/java/cn/afterturn/easypoi/excel/export/template/ExcelExportOfTemplateUtil.java

+ 4
- 0
easypoi-annotation/src/main/java/cn/afterturn/easypoi/excel/annotation/CellStyler.java Zobrazit soubor

@@ -0,0 +1,4 @@
package cn.afterturn.easypoi.excel.annotation;

public @interface CellStyler {
}

+ 4
- 0
easypoi-base/src/main/java/cn/afterturn/easypoi/excel/entity/params/ExcelForEachParams.java Zobrazit soubor

@@ -36,6 +36,10 @@ public class ExcelForEachParams implements Serializable {
* 行高
*/
private short height;
/**
* 列宽(仅横向遍历支持)
*/
private int width;
/**
* 常量值
*/


+ 9
- 3
easypoi-base/src/main/java/cn/afterturn/easypoi/excel/export/template/ExcelExportOfTemplateUtil.java Zobrazit soubor

@@ -747,13 +747,18 @@ public final class ExcelExportOfTemplateUtil extends BaseExportService {
//如果合并单元格,就把这个单元格的样式和之前的保持一致
setMergedRegionStyle(row, ci, params);
//合并对应单元格
if ((params.getRowspan() != 1 || params.getColspan() != 1)
&& !mergedRegionHelper.isMergedRegion(row.getRowNum() + 1, ci)
&& PoiCellUtil.isMergedRegion(row.getSheet(), row.getRowNum(), ci)) {
boolean isNeedMerge = (params.getRowspan() != 1 || params.getColspan() != 1)
&& !mergedRegionHelper.isMergedRegion(row.getRowNum() + 1, ci);
// 这里感觉判断没有意义,有点浪费性能,还不如后面报错
// && !PoiCellUtil.isMergedRegion(row.getSheet(), row.getRowNum(), ci);
if (isNeedMerge) {
PoiMergeCellUtil.addMergedRegion(row.getSheet(), row.getRowNum(),
row.getRowNum() + params.getRowspan() - 1, ci,
ci + params.getColspan() - 1);
}
if (params.getRowspan() == 1 && params.getColspan() == 1){
row.getCell(ci).getSheet().setColumnWidth(row.getCell(ci).getColumnIndex(), params.getWidth());
}
ci = ci + params.getColspan();
}
loopCi = Math.max(loopCi, ci);
@@ -1046,6 +1051,7 @@ public final class ExcelExportOfTemplateUtil extends BaseExportService {
params.setColspan(colAndrow[1]);
}
params.setNeedSum(templateSumHandler.isSumKey(params.getName()));
params.setWidth(cell.getSheet().getColumnWidth(cell.getColumnIndex()));
return params;
}


Načítá se…
Zrušit
Uložit