项目需要用poi导出excel,比较详细。
1.service层
public HSSFWorkbook languageExport()
导包要导正确
2.serviceImpl层
public HSSFWorkbook languageExport() {
//创建HSSFWorkbook对象(excel的文档对象)
HSSFWorkbook wb = new HSSFWorkbook();
//建立新的sheet对象(excel的表单)
HSSFSheet sheet = wb.createSheet("语言信息");
//在sheet里创建第一行
HSSFRow row1 = sheet.createRow(0);
row1.createCell(0).setCellValue("ID");
row1.createCell(1).setCellValue("语言");
// 在sheet里创建第二行
List<Language> list = this.getAllList(Language.class);
HSSFRow row;
for (int i = 0; i < list.size(); i++) {
row = sheet.createRow(i + 1);
row.createCell(0).setCellValue(list.get(i).getId());
row.createCell(1).setCellValue(list.get(i).getLanguageName());
}
return wb;
}
3.controller层
@RequestMapping("/exportLanguage")
public void exportLanguage(HttpServletRequest request, HttpServletResponse response) throws IOException{
// 创建HSSFWorkbook对象(excel的文档对象)
HSSFWorkbook wb = service.languageExport();
// 输出Excel文件
OutputStream output = response.getOutputStream();
//response.reset();
String fileName = "语言信息"+ ".xls";
this.setResponseHeader(response, fileName);
wb.write(output);
output.write(wb.getBytes());
output.close();
}
4.页面
<form class="layui-form" id="webform">
<div id="stationSelect" class="layui-form-item">
<div class="layui-input-inline">
<a class="layui-btn layui-btn-normal layui-btn-sm" id="export"><i class="layui-icon"></i>导出</a>
</div>
</div>
</form>
<table class="layui-hide" lay-filter="resume" id="resume"></table>
因为项目用的是layui,所以需要layui的一些渲染方法,
<script>
layui.use(['table','form'], function(){
var table = layui.table;
var form=layui.form;
//渲染数据
table.render({
elem: '#resume'
,url:'${base}/infoExport/list.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'
}
});
//导出
$('#export').click(function () {
var url = '${base}/infoExport/exportEqu.htm?'+ $("#webform").serialize();
window.location.href=url;
});
});
</script>