1,效果图
界面图
excel文件
2,代码
//工具类的插件引入
<script type="text/javascript" src="${ctx}/static/layui-v2.5.6/layui.js"></script>
//触发按钮
<button type="button" onclick="toExcel()">导出结果</button>
//表格样式
<div>
<table id="fapztable" lay-filter="faptool" style="margin-bottom: 0px;"></table>
</div>
function toExcel(){
var dataformat={};
param={url:'/**/excel2007','mode':'gray'}
param={url:'/**/excel2007','mode':'full_color',dataformat:dataformat}
layuitableexport(dataformat);
}
function layuitableexport(dataformat) {
var myDate=new Date();
var Ymy = myDate.getFullYear();
var Mmy = myDate.getMonth()+1;
var Dmy = myDate.getDate();
if(Mmy<10){
Mmy="0"+Mmy;
}
param={url:'/**/excel2007?title=文件名'+'_'+Ymy+Mmy+Dmy,'mode':'full_color',dataformat:dataformat}
layui.table.toExcel('fapztable',param);
}
Java 代码
@RequestMapping({"excel2007"})
public void excel2007(HttpServletRequest req, HttpServletResponse resp) throws Exception {
String xml = req.getParameter("grid_xml");
xml = URLDecoder.decode(xml, "UTF-8");
String title = req.getParameter("title");
title = title == null ? "" : URLDecoder.decode(title, "UTF-8");
ExcelWriterXss excelWriter = new ExcelWriterXss();
excelWriter.generate(xml, title);
excelWriter.outputExcel(resp, title, resp.getOutputStream());
}
3,注意
这里的Java代码是自己写的工具类,并把这个工具类封装打包进 layui.js 插件中,通过引入插件的形式来调用这个工具类的路径