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