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

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


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动态加载复选框checkbox(XML串)

 首先,使用JS动态产生Checkbox可以采用如下类似的语句:代码如下:var checkBox=document.createElement("input");che...

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

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

java解析JSON 数组数据 实例

 public  static void main (String args[]){  String sJson ="[{'acceptTim...

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

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

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

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

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

freeMarker Jfinal 获取session里的值

问题:freeMaker session取值的常用格式都试过 session["xxx"],session.xxx 直接xxx 都取不出来?????解决:JFinal与Struts...

发表评论

访客

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