代码拉取完成,页面将自动刷新
141
AutoPoi map 导出表格,列合并异常
开启的
autopoi-web 1.4.6
需求表述:
动态表单导出,列不固定,相同内容的列合并
问题表述:
相同数据的列合并存在应该合并的单元格未合并,见图(第二列 17、18,32、33 行应该是被合并到上一列的,没有合并)
测试代码:
@test
public void testo1(){
try {
List entity = new ArrayList();
ExcelExportEntity excelentity = new ExcelExportEntity("课程名称", "ckname");
excelentity.setNeedMerge(true);
entity.add(excelentity);
ExcelExportEntity e2=new ExcelExportEntity("课程老师", "teachername");
e2.setMergeVertical(true);
entity.add(e2);
excelentity = new ExcelExportEntity("学生", "students");
List<ExcelExportEntity> temp = new ArrayList<ExcelExportEntity>();
temp.add(new ExcelExportEntity("姓名", "name"));
temp.add(new ExcelExportEntity("性别", "sex"));
excelentity.setList(temp);
entity.add(excelentity);
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
for (int i=0;i<10 ;i++){
Map<String,Object> map=new HashMap<>();
if (i<5){
map.put("ckname","课程");
map.put("teachername","老师");
}else {
map.put("teachername","老师1");
}
List<Map<String,Object>> st_list=new ArrayList<>();
for(int j=0; j<3; j++){
Map<String,Object> c_map=new HashMap<>();
c_map.put("name","姓名:"+i+"_"+j);
c_map.put("sex","年龄:"+i+"_"+j);
st_list.add(c_map);
}
map.put("students",st_list);
list.add(map);
}
Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("测试", "测试"), entity, list);
FileOutputStream fos = new FileOutputStream("E:/ExcelExportForMap.tt9.xls");
workbook.write(fos);
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
结果图: