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

萨瓦迪卡5个月前 (01-22)java技术414


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


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

分享给朋友:

相关文章

base64加密java算法

base64加密java算法

 一、Base64算法概述Base64算法最早应用于解决电子邮件传输的问题。它是一种基于64个字符的编码算法,根据RFC 2045的定义:“Base64内容传输编码是一种以任意8位字节序列组...

MyEclipse10.7注册码生成

注意经验里的工具可能不可用,请点击 生成注册码工具  下载。提取码:p1w4MyEclipse10.7注册码激活步骤:点击下面的链接http://jingyan.baidu.com/arti...

org.apache.subversion.javahl.ClientException: The working copy needs to be upgraded svn: Working cop

org.apache.subversion.javahl.ClientException: The working copy needs to be upgraded svn: Working cop

SVN更新出现问题:org.apache.subversion.javahl.ClientException: The working copy needs to be upgraded svn: W...

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

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

太阳的后裔 经典对白(羞羞哒)

太阳的后裔 经典对白(羞羞哒)

关于电视剧 ,小编常说早就戒了,但是好剧呢还是要追滴。太阳的后裔, 追剧追到12集了,开始都是宋仲基比较调皮:我很想问你一件事情。什么都不要问,你知道我要问什么。看你现在一脸都是很想嘲笑我的表情。哪有...

jquery 操作html元素(及CSS)

jquery 操作html元素(及CSS)

 $("li").addClass("aui-user-view-cell aui-img") ;  //给元素添加样式$('#a1...

发表评论

访客

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