public void superviseExcel(HttpServletResponse response,@RequestBody Page page) throws ParseException, IOException {
System.out.println(page);
HSSFWorkbook wb = new HSSFWorkbook();//创建HSSFWorkbook对象
HSSFSheet sheet=wb.createSheet("信息表");//建立sheet对象
HSSFRow row1=sheet.createRow(0); //在sheet里创建第一行,参数为行索引
//创建单元格并设置单元格内容
row1.createCell(0).setCellValue("表头名称1");
...
List<User> list = userService.superviseExcel(page); //此处指具体的操作业务
for (int i = 0; i <list.size() ; i++) {
//在sheet里创建第二行
HSSFRow row2=sheet.createRow(i+1);
User user = list.get(i);
row2.createCell(0).setCellValue(user.getShopTitle());
...
}
//输出Excel文件
OutputStream output=response.getOutputStream();
response.reset();
String fileName = "xxx.xls";//创建文件名
//设置响应的编码
response.setContentType("application/x-download");//下面三行是关键代码,处理乱码问题
response.setCharacterEncoding("utf-8");
//设置响应头
response.setHeader("Content-disposition", "attachment; filename="+new String(fileName.getBytes("gbk"),"iso8859-1")+".xls");
response.setHeader("Access-Control-Allow-Origin", "*");
wb.write(output);
output.close();
}