@RequestMapping("/exportExcel")
public void exportExcel(HttpServletRequest request, HttpServletResponse response){
ServletOutputStream out = null;
try {
out = response.getOutputStream();
String fileName = new String(("UserInfo " + new SimpleDateFormat("yyyy-MM-dd").format(new Date()))
.getBytes(), "UTF-8");
//response.setContentType("multipart/form-data");
response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.setCharacterEncoding("utf-8");
response.setHeader("Content-disposition", "attachment;filename="+fileName+".xlsx");
ExcelWriter writer = new ExcelWriter(out, ExcelTypeEnum.XLSX, true);
-------------------------中文名字-------------------
String fileName = "合同管理.xlsx";
response.setCharacterEncoding("utf-8");
String agent = request.getHeader("User-Agent");
if (agent.contains("MSIE") || agent.contains("Trident")) {//IE内核
fileName = URLEncoder.encode(fileName, "UTF-8");
} else {//非IE内核
fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1");
}
response.setHeader("Cache-control", "private");
response.setHeader("Cache-Control", "maxage=3600");
response.setHeader("Pragma", "public");
response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.setHeader("Accept-Ranges", "bytes");
response.setHeader("Content-disposition", String.format("attachment;
filename=\"%s\"", fileName));
ExcelWriter writer = new ExcelWriter(out, ExcelTypeEnum.XLSX, true);
---------------------------------------------------
Sheet sheet1 = new Sheet(1, 0);
sheet1.setSheetName("第一个sheet");
Table table = new Table(1);
List<List<String>> titles = new ArrayList<List<String>>();
titles.add(Arrays.asList("合同内容"));
titles.add(Arrays.asList("合同类别"));
table.setHead(titles);
writer.write0(getListString(), sheet1,table);
----------导出单文件两个sheet
Sheet sheet2 = new Sheet(2,0);
sheet2.setSheetName("第二个sheet");
Table table2 = new Table(2);
List<List<String>> titles2 = new ArrayList<>();
titles2.add(Arrays.asList("合同内容"));
titles2.add(Arrays.asList("合同类别"));
table2.setHead(titles2);
writer.write0(getListString(), sheet2,table2);
writer.finish();
--------------------
writer.finish();
out.flush();
} catch (Exception e) {
e.printStackTrace();
}
}
private List<List<String>> getListString() {
//List<List<String>> list = allocationapplyMapper.listAll();
Wrapper<LxsContract> ew = new EntityWrapper<>();
List<LxsContract> lxsContracts = lxsContractService.selectList(ew);
List<List<String>> userList = new ArrayList<>();
//List<Map<String, String>> maps = allocationapplyMapper.listAll();
for (int i = 0; i <lxsContracts.size(); i++) {
LxsContract lxsContract = lxsContracts.get(i);
userList.add(Arrays.asList(lxsContract.getContractName(),lxsContract.getCategory()));
}
return userList;
}
-----读excel
ExcelListener excelListener = new ExcelListener();
EasyExcelFactory.readBySax(inputStream, new Sheet(1, 1), excelListener);