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

萨瓦迪卡2年前 (2025-01-22)java技术1636


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...

坑爹的ShowModalDialog 后台传值解决方案

 今天遇到需要ShowModalDialog打开页面,通过acceptanceIds 参数值后台过滤出相应结果前台  var url = "loadAccept...

js/jquery 日历控件及实例下载

js/jquery 日历控件及实例下载

实现日历控件效果:页面:<link href="${base}/resource/${profile.path}/css/lhgcalendar.css" rel="...

js/jquery 实现点击图片更换头像(图片)实例

    总之一句话, 可以先将 file类型 的input 隐藏 起来,通过 图片(头像)的onclick事件 来触发 file 的onclick事件。1.引入外部js:...

开机密码忘记怎么办

1、重新启动计算机,在启动画面出现后马上按下F8键(不同类型型号电脑启动键不一样,参考附加),选择“带命令行的安全模式”。2、运行过程结束时,系统列出了系统超级用户“administrator”和本地...

发表评论

访客

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