若依框架导出excel模板含第二标题怎么实现

萨瓦迪卡1年前 (2025-01-22)java技术1254


1、比如实现如图,有2个标题的情况。若依没有可直接实现的方法,需要新增方法。

image.png

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 );


本文原创,转载必追究版权。

分享给朋友:

相关文章

 程序员的中秋礼物.......

程序员的中秋礼物.......

【小姐你好,我是程序员】“小姐你好,我是程序员。”女生礼貌地回答:“你好,程先生。”男:“……哦,叫我序员就可以了。”   【程序员的愿望】有一天一个程序员见到了上帝。上...

js限制input只能输入数字、英文、汉字

 1.只能输入数字和英文的:  <input onkeyup="value=value.replace(/[\W]/g,'') "...

java.lang.ClassNotFoundException: oracle.jdbc.driver.OralceDriver

 java.lang.ClassNotFoundException: Oracle.jdbc.driver.OracleDriver这个错误;原因可能是 少了驱动 ,少包class...

使用Myeclipse 8.5开发基于JAX-WS的Web service实例

 本文为Web service 开发入门篇,主要介绍在Myeclipse 8.5环境下开发Web service的服务程序和客户端程序的基本流程。 在Weblogic 11g...

get/post方式调用http接口

get/post方式调用http接口

 1. 项目环境如下:myeclipse8.5 、tomcat5.0/weblogic、xp、JDK:开发1.5,编译1.4为了方便,在原来的web项目UpDown中新建了一个httpcal...

freeMarker 截取字符串(操作字符串函数 )

<#if c.proSummary!?length gt 25>  <!-- 如果长度 >25 截取25个字-->    ...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。