若依框架导出excel模板含第二标题怎么实现
1、比如实现如图,有2个标题的情况。若依没有可直接实现的方法,需要新增方法。

2.实现方式:
在ExcelUtil类新增以下方法及代码:
/**
* 标题2
*/
private String title2;
public void exportExcel(HttpServletResponse response, List<T> list, String sheetName, String title,String title2)
{
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setCharacterEncoding("utf-8");
this.init2(list, sheetName, title,title2, Type.EXPORT);
exportExcel(response);
}
public void init2(List<T> list, String sheetName, String title, String title2, Type type)
{
if (list == null)
{
list = new ArrayList<T>();
}
this.list = list;
this.sheetName = sheetName;
this.type = type;
this.title = title;
this.title2 = title2;
createExcelField();
createWorkbook();
createTitle();
createTitle2();
createSubHead();
}
/**
* 创建excel第二行标题
*/
public void createTitle2()
{
if (StringUtils.isNotEmpty(title2))
{
subMergedFirstRowNum++;
subMergedLastRowNum++;
int titleLastCol = this.fields.size() - 1;
if (isSubList())
{
titleLastCol = titleLastCol + subFields.size() - 1;
}
Row titleRow = sheet.createRow(rownum == 1 ? rownum++ : 1);
titleRow.setHeightInPoints(30);
Cell titleCell = titleRow.createCell(0);
titleCell.setCellStyle(styles.get("data"));
titleCell.setCellValue(title2);
sheet.addMergedRegion(new CellRangeAddress(titleRow.getRowNum(), titleRow.getRowNum(), titleRow.getRowNum()-1, titleLastCol));
}
}3.调用即可:
ExcelUtil<ClassChargeVo> util = new ExcelUtil<ClassChargeVo>(ClassChargeVo.class); String title1 = "班级信息"; String title2 = getLoginUser().getUser().getNickName() +"-"+ getLoginUser().getUser().getUserId(); util.exportExcel(response, list, "收费excel导出",title ,title2 );
本文原创,转载必追究版权。

