開心一笑
某晚瓶摆,一裸男叫了一輛出租車,女司機目不轉(zhuǎn)睛盯著看他性宏,裸男大怒群井,
吼道:你他媽沒見過裸男呀!女司機也大怒:我看你他媽從哪兒掏錢
提出問題
POI之Excel在前端和控制層代碼如何寫呢毫胜?
解決問題
下面是我在工作中书斜,做excel導(dǎo)出時寫的代碼,解釋下吧:
前段代碼:
在前端酵使,只要訪問該接口在路徑即可了! 不如可以用a便簽等.
<a ></a>
后端代碼:
后端接口中荐吉,方法參數(shù)中需要有HttpServletResponse response這個參數(shù),
reponse用來響應(yīng)前端的請求,reponse設(shè)置編碼和文件格式口渔,
然后用response,獲得文件的輸出流response.getOutputStream()样屠,
最后把excel寫到輸出流即可excel.write(os);至于編碼問題缺脉,可以看我接下的文章痪欲。
/**
* 描述:導(dǎo)出任務(wù)書
* @return
* @throws Exception
*/
@RequestMapping(value = "/{id}/exportTaskBook", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public ResultData exportTaskBook(@PathVariable("id") String mainTaskId,Query query,HttpServletResponse response) throws Exception{
List<StageTaskNodeDTO> stageTaskNodeDTOs = pcsMainTaskService.findStagesTasksAndSubTaskTree(mainTaskId,query);
//主任務(wù)
PcsMainTask pcsMainTask = pcsMainTaskService.findById(mainTaskId);
//項目
PcsProject pcsProject = pcsProjectService.findById(pcsMainTask.getPmProjectId());
HSSFWorkbook excel = pcsMainTaskService.exportTaskBook(pcsProject,pcsMainTask,stageTaskNodeDTOs);
OutputStream os = null;
try{
if(pcsMainTask != null && pcsProject != null){
String fileName = pcsProject.getName() + pcsMainTask.getName() + ".xls";
//解決中文名亂碼問題
fileName = new String(fileName.getBytes("GBK"), "ISO8859_1");
//設(shè)置編碼、輸出文件格式
response.setContentType("application/msexcel");
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
os = response.getOutputStream();
excel.write(os);
}else{
logger.info("任務(wù)書導(dǎo)出:項目或者主任務(wù)不存在");
}
}catch(Exception e){
logger.info("任務(wù)書導(dǎo)出異常" + e.getMessage());
}finally{
if(os != null){
os.close();
}
}
return new ResultData();
}
讀書感悟
- 夢想要好高騖遠攻礼,行動要腳踏實地
- 如果要去非洲旅行业踢,那乘飛機是你唯一的選擇;但是如果只是去郊外踏青礁扮,
那可能坐地鐵就到了知举;如果你有機會去攀登珠峰,
穿花短褲恐怕你就回不來了太伊。夢想负蠕,就是你要去往的目的地,它可能很遙遠倦畅,
也可能觸手可及遮糖。除非你知道它在哪里,否則你不會知道應(yīng)該選擇什么樣的道路叠赐,
攜帶什么樣的工具 - 夢想總是與你的價值觀相聯(lián)系欲账。你相信什么屡江,就會遇見什么