layui文件的导出
html前段代码
function exportOnclick() {
layer.confirm('确认导出数据?', {
btn: ['确定','取消'] //按钮
}, function(index){
layer.load();
layer.close(index);
layui.use(['jquery', 'excel', 'layer'], function() {
var excel = layui.excel;
var departNam = $("#departNam").val()
aweto.ajax(basePath+namespace+"/exportQfTable.ajax",
{departNam:departNam},
false,
function (result) {
if (result.state == SUCCESS) {
debugger
var data = result.param.data;
//1. 属性的name属性和名称,汉字为导出Excel的标签名称
data.unshift({ departNam: '机构',
count: '数量'});
//2. 获取后台数据
data = excel.filterExportData(data, [
'departNam',
'count'
]);
// 3. 执行导出函数,系统会弹出弹框
excel.exportExcel({
sheet1: data
}, '数据.xlsx', 'xlsx');
layer.msg(result.msgInfo, {icon: 6})
} else {
layer.msg(result.msgInfo, {icon: 5})
}
layer.closeAll("loading")
})
});
}, function(index){
layer.close(index);
});
}
java后端代码
@RequestMapping(value = "exportQfTable", method = RequestMethod.POST)
@ResponseBody
public Message exportQfTable(HttpServletRequest request) {
Message message = new Message(Message.ERROR, "导出失败");
JSONObject jsonObject = new JSONObject();
jsonObject.put("msg", "查询失败");
List<Map<String, Object>> list = new ArrayList<>();
Database db = null;
TableInfo table = new TableInfo(null, true);
try {
db = DbUtil.getDb();
StringBuilder stringBuilder = new StringBuilder();
StringBuilder tCountSql = new StringBuilder();
List<Map<String, Object>> list1 = new ArrayList<>();
String departNam = this.param(request, "departNam");
String stringList = "";
if (!"".equals(departNam)) {
String departNo = db.getValue("select depart_no from depart where depart_nam=" + "'" + departNam + "'");
stringList = Charset.nullToEmpty(db.getValue(" select get_all_children_node('" + departNo + "')"));
if (ObjectUtil.isNotEmpty(stringList)) {
stringList = "'" + stringList.replaceAll(",", "','");
}
}
String shipId = null;
String departId = null;
stringBuilder.append("select count(1) as count,slls_no,ship_id,depart_id,f_deleted_flag,f_deleted_at,delete_reason,arrach,first_user,first_dtm,last_user from sv_lead_seal_ship where f_deleted_flag = 0");
if (!"".equals(stringList)) {
departId = db.getValue("select group_concat(depart_id) from depart where DEPART_NO in('-1'," + stringList + "')");
departId = departId.replace(",", "','");
stringBuilder.append(" and depart_id in('-1','" + departId + "')");
}
stringBuilder.append(" GROUP BY depart_id ");
tCountSql.append("select count(1) from(").append(stringBuilder.toString()).append(") t where 1=1");
list1 = db.getValueMapList(stringBuilder.toString(), new Object[]{});
JSONArray jasonArray = new JSONArray(0);
for (Map map : list1) {
String departName = db.getValue("select depart_nam from depart where depart_id = '" + map.get("depart_id") + "'");
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("departNam", departName);
jsonObject1.put("count", map.get("count"));
jasonArray.add(jsonObject1);
}
message.addParem("data",jasonArray);
message.setState(Message.SUCCESS);
message.setMsgInfo("导出成功");
} catch (Exception e) {
e.printStackTrace();
message.setState(Message.ERROR);
message.setMsgInfo("执行出错");
}
return message;
}