首页 > 其他 > 详细

poi 导出Excel --实战代码(导出一行过一排排那种/工具类导出/复制代码用)

时间:2020-11-18 14:41:12      阅读:37      评论:0      收藏:0      [点我收藏+]

html代码

   <a class="btn btn-primary fa fa-export" href="javascript:void(0);" onclick="expExcel()"><span>导出excel</span></a>

js代码

function expExcel() {
        
        var ids=new Array();
        $("input:checkbox:checked").each(function(){
            ids.push($(this).attr("id"));
        });
        if(ids.length==0){
            alert("请至少选中一条记录");
            return;
        }
        if (confirm("导出选中页面数据?")) {        
            var url = __ctx + ‘/platform/xxx/xxx/exportExcel.htm?myId=‘+ ids;
            var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
            if (userAgent.indexOf("compatible") > -1
                    && userAgent.indexOf("MSIE") > -1) {//判断是否IE浏览器
                window.location.href(url);
            } else {
                window.open(url, "导出报表");
            }
        }
    }

java代码

@RequestMapping({ "exportExcel" })
    public void exportExcel(HttpServletRequest request, HttpServletResponse response) throws Exception {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
        String[] aryIds = RequestUtil.getStringAryByStr(request, "myId");
        QueryFilter queryFilter = getQuerFilter(request);
        String myIds = "";

        for (int i = 0; i < aryIds.length; i++) {
            String tmp = aryIds[i].replace("jqg_jzjxjhGrid_", "");

            if (i != aryIds.length - 1) {
                myIds += "‘" + tmp + "‘,";
            } else {
                myIds += "‘" + tmp + "‘";
            }
        }
        queryFilter.addParamsFilter("whereSql", "MY_ID_ in (" + myIds + ")");
        queryFilter.addParamsFilter("orderBySql", "KS ASC");

        List<Jzjxjh> query = jzjxjhManager.query(queryFilter);

        String title = "xxx计划";
        String[] headers = {"序号","xx","xx","xx","开始","结束","工期","xx","发电类型"};
        Integer[] columnWidth={18,18,18,18,18,18,18,18,18};
        
        String[][] values = new String[query.size()][headers.length];
        for (int i = 0; i < query.size(); i++) {
            Jzjxjh e = query.get(i);
            values[i][0]=e.getXh()+"";
            values[i][1]=e.getDw();
            values[i][2]=e.getJz();
            values[i][3]=e.getRl()+"";
            values[i][4]=sdf.format(e.getKs());
            values[i][5]=sdf.format(e.getJs());
            values[i][0]=e.getGq()+"";
            values[i][0]=e.getLx();
            values[i][0]=e.getZt();
        }
        
        HSSFWorkbook wb = ExportExcelUtil.getHSSFWorkbook(title, headers, values,columnWidth);        
        
        String fileName = "xxxx计划_" + ".xls";
        ExportExcelUtil.exportExcel(request, response, wb, fileName);
    
    }

 

适用场景:poi 4.0.1  ,ExportExcelUtil.java可以在本博客util中找

导出效果

第一行是合并单元格的一个标题

第二行是表头

第三行开始每一列都是数据

效果图如下

技术分享图片

 

poi 导出Excel --实战代码(导出一行过一排排那种/工具类导出/复制代码用)

原文:https://www.cnblogs.com/rdchen/p/13999056.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!