下载模板
在resource下新增tst.xlsx模板文档
开发代码:
package cn.@@.forecast.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.xmlbeans.ResourceLoader;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URL;
import java.net.URLEncoder;
@RequestMapping("/downLoad")
@RestController
@Slf4j
@Api(tags = "模板下载")
public class testDownLoad {
@ApiOperation(value = "导出模板", httpMethod = "POST")
@GetMapping("/muban")
public void downLoadExcel(HttpServletResponse response, HttpServletRequest request) {
try {
String fileName = "上传模板.xlsx";
String userAgent = request.getHeader("User-Agent");
if (userAgent != null && (userAgent.contains("MSIE") || userAgent.contains("Trident"))) {
fileName = URLEncoder.encode(fileName, "UTF-8");
} else {
fileName = new String(fileName.getBytes("UTF-8"), "ISO-8859-1");
}
int totalBytesRead = 0;
response.addHeader("Content-Disposition", "attachment;filename=" + fileName);
response.setContentType("application/octet-stream");
try (InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("tst.xlsx");
OutputStream toClient = new BufferedOutputStream(response.getOutputStream())) {
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = in.read(buffer)) != -1) {
toClient.write(buffer, 0, bytesRead);
totalBytesRead += bytesRead;
}
toClient.flush();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}