Skip to content

Commit a86aacf

Browse files
author
milixiang
committed
fix: 横向填充 复制列宽
1 parent 40a017c commit a86aacf

3 files changed

Lines changed: 21 additions & 2 deletions

File tree

fastexcel-test/src/test/java/cn/idev/excel/test/temp/fill/FillTempTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,15 @@ public void dynamicFill() {
9696
dateList.add("2023-01-01");
9797
dateList.add("2023-01-02");
9898
dateList.add("2023-01-03");
99+
dateList.add("2023-01-04");
100+
dateList.add("2023-01-05");
101+
dateList.add("2023-01-06");
102+
dateList.add("2023-01-07");
103+
dateList.add("2023-01-08");
104+
dateList.add("2023-01-09");
105+
dateList.add("2023-01-10");
106+
dateList.add("2023-01-11");
107+
dateList.add("2023-01-12");
99108

100109
ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build();
101110
WriteSheet writeSheet = EasyExcel.writerSheet().build();

fastexcel/src/main/java/cn/idev/excel/write/executor/AbstractExcelWriteExecutor.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,12 @@ protected void converterAndSet(CellWriteHandlerContext cellWriteHandlerContext)
139139
if(originalVariable.contains(".")){
140140
key = originalVariable.split("\\.")[1];
141141
Object itemBean = o;
142-
BeanMap beanMap = BeanMapUtils.create(itemBean);
143-
o = beanMap.get(key);
142+
if (null == itemBean) {
143+
o = null;
144+
}else{
145+
BeanMap beanMap = BeanMapUtils.create(itemBean);
146+
o = beanMap.get(key);
147+
}
144148
}
145149

146150
Integer dynamicColumnGroupSize = dynamicColumnInfo.getGroupSize();

fastexcel/src/main/java/cn/idev/excel/write/executor/ExcelWriteFillExecutor.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,12 @@ private void doFill(
291291
if (cellWriteHandlerContext.getCellMap() != null && cellWriteHandlerContext.getCellMap().size() > 1) {
292292
cellWriteHandlerContext.getCellMap().values().forEach(cell -> cell.getFirstCellData().setOriginCellStyle(style));
293293
}else{
294+
if(fillConfig.getDirection() == WriteDirectionEnum.HORIZONTAL){
295+
Integer orginColumnIndex = analysisCell.getColumnIndex();
296+
Sheet sheet = writeContext.writeSheetHolder().getSheet();
297+
int columnWidth = sheet.getColumnWidth(orginColumnIndex);
298+
sheet.setColumnWidth(cellWriteHandlerContext.getColumnIndex(), columnWidth);
299+
}
294300
cellData.setOriginCellStyle(style);
295301
}
296302
});

0 commit comments

Comments
 (0)