Java实现xlsx文件下载和文件上传
文件下载:(xlsx下载案例)
直接上代码 (注:header的文件头编码要设置好否则可能会出现乱码)
public void downloadTemplate(HttpServletRequest request, HttpServletResponse response) {
response.setContentType("application/x-msdownload");
String dateName = "下载文件.xlsx";
response.setHeader("Content-Disposition", "attachment;filename=" + new String(dateName.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1));
OutputStream out = null;
try {
out = response.getOutputStream();
XSSFSheet sheet1 = workbook.createSheet("sheetName");
XSSFRow titleRow1 = sheet1.createRow(0);
titleRow1.createCell(0).setCellValue("行1列1");
titleRow1.createCell(1).setCellValue("行1列2");
titleRow1.createCell(2).setCellValue("行1列3");
XSSFRow titleRow2 = sheet1.createRow(1);
titleRow2.createCell(0).setCellValue("行2列1");
titleRow2.createCell(1).setCellValue("行2列2");
titleRow2.createCell(2).setCellValue("行2列3");
try {
workbook.write(out);
} catch (Exception e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if(out != null){
out.flush();
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
文件上传
后续xlsx处理可进入主页查看我写的另一篇读取并解析xlsx
@PostMapping("/upload")
public void Upload(HttpServletRequest request, @RequestPart("file") MultipartFile files) {
String fileName = files.getOriginalFilename();
long size = files.getSize();
String prefix = null;
if (fileName != null) {
prefix = fileName.substring(fileName.lastIndexOf(".") + 1);
}
}