import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.core.io.ClassPathResource;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
/**
* @author 王慧
* @description poi导出excel
* @date 2020/1/8
*/
@RestController
public class DownloadText {
/**
* Text模板下载
*
* @param response
* @param request
* @return
*/
@RequestMapping(value = "/textExport")
public ResponseEntity<Resource> excel2007Export(HttpServletResponse response, HttpServletRequest request) {
try {
ClassPathResource cpr = new ClassPathResource("/templates/test.txt");
downLoadExcel("test.txt", response, cpr);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return new ResponseEntity<Resource>(HttpStatus.OK);
}
public static void downLoadExcel(String fileName, HttpServletResponse response, ClassPathResource cpr) throws IOException {
InputStream input = null;
BufferedOutputStream output = null;
try {
response.setCharacterEncoding("UTF-8");
response.setHeader("content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Disposition",
"attachment;filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\"");
input = cpr.getInputStream();
output = new BufferedOutputStream(response.getOutputStream());;
byte[] buffer = new byte[4096]; // 缓冲区
int n = (-1);
while ((n = input.read(buffer, 0, 4096)) > -1) {
output.write(buffer, 0, n);
}
response.flushBuffer();
} catch (IOException e) {
e.printStackTrace();
}finally {
if (input != null)
input.close();
if (output != null)
output.close();
}
}
}
Java根据模板下载TXT文件
最新推荐文章于 2021-03-11 17:02:52 发布