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

萨瓦迪卡2个月前 (01-22)java技术116


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


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

分享给朋友:

相关文章

org.tigris.subversion.javahl.ClientException:Attempted to lock an already-locked dir

 svn更新或提交时候报错:org.tigris.subversion.javahl.ClientException:Attempted to lock an already-locke...

如何彻底卸载删除oracle数据库

 windows下如何彻底删除Oracle 软件环境: 1、Windows 2000+ORACLE 8.1.7 ,oracle 10g2、ORACLE安装路径为:C:\ORACLE实现方...

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

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

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

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

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

是谁动了我的座位

是谁动了我的座位

女孩一上火车,见自己的座位上坐着一男士。她核对自己的票,客气地说:“先生,您坐错位置了吧?” 男士拿出票嚷嚷着:“看清楚点,这是我的座,你瞎了?” 女孩仔细看了他的票,不再做声,默...

jquery 操作html元素(及CSS)

jquery 操作html元素(及CSS)

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

发表评论

访客

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