import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import javax.servlet.http.HttpServletResponse;
public String export(Record record, HttpServletResponse response) throws Exception {
List<Record> list = selList(record);
//生成Excel
HSSFWorkbook workbook = null;
ExcelUtil excelUtil = new ExcelUtil();
List<Map<String, Object>> mapList = this.getMapList(list);
String saveBaseUrl = FileUtils.getProjectPath() + File.separator;
String timeStr = System.currentTimeMillis();
workbook = excelUtil.mapListToExcel(workbook, mapList, "统计");
if (workbook != null) {
try {
//将excel写到文件夹中
String fileName = UUIDGenerator.getId() + ".xls";
File excelFile = new File(saveBaseUrl + "temp" + File.separator + "exportFile" + timeStr + File.separator + fileName);
FileUtils.createFile(excelFile.getAbsolutePath());
OutputStream outputStream = new FileOutputStream(excelFile);
workbook.write(outputStream);
outputStream.flush();
outputStream.close();
//导出到前端
FileUtils.downloadFile(saveBaseUrl + "temp" + File.separator + "exportFile" + timeStr + File.separator, fileName, response);
System.out.println("导出结束");
//删除临时文件
File file = new File(saveBaseUrl + "temp" + File.separator + "exportFile" + timeStr + File.separator + fileName);
FileUtils.deleteFile(file);
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
private List<Map<String, Object>> getMapList(List<Record> list) {
List<Map<String, Object>> mapList = new ArrayList<>();
if (list != null && list.size() > 0) {
for (Record sta : list) {
Map<String, Object> result = new LinkedHashMap<>();
result.put("姓名", sta.getPersonName());
result.put("学号", sta.getPersonCode());
result.put("部门", sta.getDeptName());
result.put("时间", sta.getSnapTi