easyPOI導出

主要就是:exportBigExcel 這個方法。

@ApiOperation(value = "故障分析表",notes = "條件查詢和展示")
    @RequestMapping(value = "/getExportFaultResult", method = RequestMethod.POST)
    public void getFaultResult(@RequestBody JSONObject obj,HttpServletResponse response){
        String provinceLevelOrgCode = (String)obj.get("provinceLevelOrgCode");
        String stationLevelType = (String)obj.get("stationLevelType");
        String manufactureName = (String)obj.get("manufactureName");
        String provincePrCode = (String)obj.get("provincePrCode");
        String provinceOmOrgCode = (String)obj.get("provinceOmOrgCode");
        String faultType = (String)obj.get("faultType");
        String stakeDateStart = (String)obj.get("stakeDateStart");
        String stakeDateEnd = (String)obj.get("stakeDateEnd");
        List<FaultAnalysisResult> pageOperationResult = null;
        try {
            pageOperationResult = aiOperationFaultService.getExportFaultResult(provinceLevelOrgCode,stationLevelType,manufactureName,provincePrCode,provinceOmOrgCode,faultType,stakeDateStart,stakeDateEnd);
            exportBigExcel(response,pageOperationResult,FaultAnalysisResult.class,"導出故障表數據","sheet2");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    //easyPOI導出
    public void  exportBigExcel(HttpServletResponse response, List<?> list, Class<?> pojoClass, String title, String sheetName) throws IOException {

        ExportParams params = new ExportParams(title, sheetName);
        Workbook  workbook = ExcelExportUtil.exportBigExcel(params, pojoClass, list);
        ExcelExportUtil.closeExportBigExcel();

        //文件名
        String s = pojoClass.getName();
        String fileName = s.substring(s.lastIndexOf(".")+1,s.length())+System.currentTimeMillis()+".xlsx";

        setResponseHeader(response,fileName);
        ServletOutputStream outputStream = null;
        outputStream = response.getOutputStream();
        workbook.write(outputStream);
        outputStream.close();
}


    //發送響應流方法
    public void setResponseHeader(HttpServletResponse response, String fileName) {
        try {
            try {
                fileName = new String(fileName.getBytes(),"UTF-8");
            } catch (UnsupportedEncodingException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            response.setContentType("application/octet-stream;charset=UTF-8");
            response.setHeader("Disposition", "attachment;filename="+ fileName);
            response.addHeader("Pargam", "no-cache");
            response.addHeader("Cache-Control", "no-cache");
            response.addHeader("Access-Control-Expose-Headers","Disposition");
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章