因为项目需要把基本信息导出,但不是将导出功能加个各个基本信息中,而且以列表的形式将基本信息罗列出来,然后点击导出将相应的基本信息导出excel
1.总体效果图
以往的导出都是打开页面有单独的导出,这是将每个基本信息导出来。
2.service层:
public HSSFWorkbook languageExport();
3.serviceImpl层:
4.前台:
<table class="layui-hide" lay-filter="resume" id="resume"></table>
<script>
layui.use(['table','form'], function(){
var table = layui.table;
var form=layui.form;
//渲染数据
table.render({
elem: '#resume'
,url:'${base}/infoExport/allList.htm'
,page : true
,cellMinWidth: 80
,height: 'full-10'
,cols:[[
{field: 'name',title: '基本信息名称',align:'center'},
{fixed: 'right',title: '操作', align:'center',fixed:'right', toolbar: '#barDemo'}
]]
,id:'tab'
,limit : 50
,request : {
pageName : 'pageNumber',
limitName : 'pageSize'
}
});
//导出
table.on('tool(resume)', function(obj){
var tableData = obj.data;
var layEvent = obj.event;
if(layEvent === 'export'){
var url = '${base}/infoExport/export.htm?id='+ tableData.id;
window.location.href=url;
}
});
});
</script>
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-xs" lay-event="export">导出</a>
</script>
因为前端框架用的是layui,所以需要用layui来渲染数,导出方法具体是定义一个变量,然后取得相应的id,在后台判断id,然后执行相应的导出方法
5.后台
因为方法大部分相同,所以就截图了两个,后台取得点击导出时的id,然后根据id执行导出方法,希望能帮助有需要的人