public void exportAnalyse(HttpServletResponse response) {
//data为行 集合
List<List<String>> data = new ArrayList();
for (int i = 0; i < 10; i++) {
//columns为列集合
List<String> columns = new ArrayList<>();
//第一列,属性名
String name = AnalyseColumn.properties[i];
columns.add(name);
data.add(columns);
}
//原生POI
//1.实例化HSSFWorkbook
HSSFWorkbook workbook = new HSSFWorkbook();
//2.创建一个Excel表单,参数为sheet的名字
HSSFSheet sheet = workbook.createSheet("成绩分析");
//3.设置单元格并赋值
//创建5行
for (int i = 0; i < data.size(); i++) {
HSSFRow row = sheet.createRow(i);
//每一行再创建N列
for (int j = 0; j < data.get(i).size(); j++) {
row.createCell(j).setCellValue(data.get(i).get(j));
}
}
//3.设置浏览器下载
try {
String fileName = "成绩分析-导出.xls";
//清空response
response.reset();
//设置response的Header
response.addHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
response.setCharacterEncoding("UTF-8");
response.setHeader("content-Type", "application/vnd.ms-excel");
response.addHeader("Content-Disposition", "attachment;filename=" + fileName);
OutputStream os = new BufferedOutputStream(response.getOutputStream());
//将excel写入到输出流中
workbook.write(os);
os.flush();
os.close();
log.info("设置浏览器下载成功!");
} catch (Exception e) {
log.info("设置浏览器下载失败!");
e.printStackTrace();
}
}