1.上传文件
接口
@RequestMapping("/upload")
public boolean uploadFile(@RequestParam("file") MultipartFile file) {
if (file.exists()){
return true;
}else
return false;
}
- postman设置
选择文件
3. 点击send发送请求
2.下载文件
@RequestMapping(value = "/test")
public CommonResult download(HttpServletResponse response) throws IOException {
CommonResult result = new CommonResult();
System.out.println("-------------------------");
System.out.println("-------------------------");
System.out.println("-------------------------");
testService.downloadFile(response);
result.setMessage("稳健生产大萨达所大所");
result.setSuccess(true);
System.out.println("-------------------------");
System.out.println("-------------------------");
System.out.println("-------------------------");
return result;
}
service
@Override
public void downloadFile(HttpServletResponse response) throws IOException {
//创建一个webbook,对应一个Excel文件夹
Workbook workbook = new HSSFWorkbook();
// 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
Sheet sheet = workbook.createSheet("用户实体");
// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
Row row = sheet.createRow(0);
// String fileName = new String(new Date().toString("yyyyMMddHHmm").getBytes("gbk"), "iso-8859-1");
String fileName = new String(("yyyyMMddHHmm").getBytes("gbk"), "iso-8859-1");
// 创建一个居中格式
// Cell style = workbook.createCellStyle();
// 创建一个居中格式
// style.setAlignment(HorizontalAlignment.CENTER);
int rowNum = 1;
//设置每列标题
String[] headers = {"用户ID", "用户账号", "会员等级", "认证状态", "消费金额", "订单数量", "用户启用状态",
"公司名称", "省", "市", "县", "详细地址", "联系人", "联系号码", "职位", "qq", "微信", "邮箱", "信用代码"};
//在excel表中添加表头
for (int i = 0; i < headers.length; i++) {
Cell cell = row.createCell(i);
cell.setCellValue(i);
}
// //6、写入本地
// FileOutputStream outputStream = new FileOutputStream(fileName+".xlsx");
// workbook.write(outputStream);
// Long end = System.currentTimeMillis();
// //7、关闭流
// outputStream.close();
// 设置文件MIME类型
response.reset(); // 必要地清除response中的缓存信息
// response.setContentType(request.getServletContext().getMimeType(fileName));
// response.setContentType("application/octet-stream");
response.setContentType("application/msexcel;charset=utf-8");
response.setHeader("name", fileName);
response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
response.setHeader("Pragma", "public");
response.setDateHeader("Expires", 0);
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
response.setHeader("Content-disposition",
"attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\""+".xls");
OutputStream osOut = response.getOutputStream();
workbook.write(osOut);
osOut.flush();
osOut.close();
}
postman设置
效果