6
假设我上层存在A集合数据源,A集合下方存在B集合数据源,都有各自的数据源标题头,做完数据动态填充后,下方B集合(包括标题头)应该是要随着A集合的数据情况向下移动
触发Bug的代码
public static void exportExcel(String templateId,WriteDirectionEnum writeDirectionEnum, HttpServletResponse response, Object... dataList ) throws ApplicationException {
ExcelWriter excelWriter = null;
try{
// 读取模板并做数据填充
InputStream inputStream = FileUtils.readTemplate(templateId);
excelWriter = EasyExcel.write(response.getOutputStream()).withTemplate(inputStream).build();
WriteSheet writeSheet = EasyExcel.writerSheet().build();
FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
fillConfig.setDirection(writeDirectionEnum);
for (Object data: dataList) {
if (Collection.class.isAssignableFrom(data.getClass()) || data.getClass().isArray()) {
excelWriter.fill(data, fillConfig, writeSheet);
} else {
excelWriter.fill(data, writeSheet);
}
}
// 导出 excel
FileUtils.exportExcel(templateId, response);
} catch (Exception e) {
throw new ApplicationException("NOMA_ERROR0005", templateId);
} finally {
if (null != excelWriter) {
excelWriter.finish();
}
}
}
使用版本: <easyexcel.version>2.1.0-beta4</easyexcel.version>
实际并没有出现这种效果,B集合的数据源向下移动了,但是其标题消失了? 验证了上层集合,下层对象,并没有出现类似的情况,这个是什么原因呢?