importorg.apache.poi.ss.usermodel.Cell;importorg.apache.poi.ss.usermodel.Row;importorg.apache.poi.ss.usermodel.Sheet;importorg.apache.poi.ss.usermodel.Workbook;importorg.apache.poi.xssf.usermodel.XSSFWorkbook;importorg.springframework.core.io.ClassPathResource;importorg.springframework.http.HttpStatus;importorg.springframework.http.ResponseEntity;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestMethod;importorg.springframework.web.bind.annotation.RestController;importjavax.annotation.Resource;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;import java.io.*;importjava.net.URLEncoder;importjava.util.ArrayList;importjava.util.List;/***@author王慧
* @description poi导出excel
* @date 2020/1/8*/@RestControllerpublic classDownloadText {/*** Text模板下载
*
*@paramresponse
*@paramrequest
*@return
*/@RequestMapping(value= "/textExport")public ResponseEntityexcel2007Export(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(HttpStatus.OK);
}public static void downLoadExcel(String fileName, HttpServletResponse response, ClassPathResource cpr) throwsIOException {
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= newBufferedOutputStream(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();
}
}
}