easyExcel을 사용하여 데이터 내보내기

대부분의 시스템을 개발하려면 데이터의 내보내기를 해야 한다. 아리의 eayExcel 플러그인은 매우 유용하다는 것을 발견했다. 단지 하나의 주석과 몇 줄의 코드를 더하면 excel 내보내기를 쉽게 할 수 있다.말이 많지 않으면 코드 1,pom을 붙여라.xml 도입jar 패키지
    
        com.alibaba
        easyexcel
        1.1.2-beta5
    

2. 실체 클래스는 계승해야 한다. index는 헤더 순서인public class Mine extends BaseRowModel {
 /**
 *   
 */
@ExcelProperty(value = "  ", index = 1)
private String type;

/**
 *   
 */
@ExcelProperty(value = "    ", index = 2)
private String name;

}
2. controller 입구 클래스
/*** 데이터 내보내기*@param search*@param response*/
@RequestMapping(value = "/exportDateToExcel")
public void exportDateToExcel(Mine search, HttpServletResponse response) {
	//           
    List list = service.findAll(search, pageable).getContent();
    try {
        Map> map = new HashMap<>();
        map.put("    ", list);
        ExcelUtil.createExcelStreamMutilByEaysExcel(response, map, ExcelTypeEnum.XLSX, "    ("+ExcelUtil.fileName()+").xlsx");
    } catch (Exception e) {
        e.printStackTrace();
    }
}

2.excel 도구 클래스 public class ExcelUtil
/**
 * @Author jian
 * @Description   excel          sheet
 * @Param OutputStream    
 * Map  sheetName   sheet   
 * ExcelTypeEnum     excel     ExcelTypeEnum.xls   ExcelTypeEnum.xlsx
 */
public static void createExcelStreamMutilByEaysExcel(HttpServletResponse response, Map> SheetNameAndDateList, ExcelTypeEnum type, String fileName) throws UnsupportedEncodingException {
    try {
        response.setContentType("multipart/form-data");
        response.setCharacterEncoding("utf-8");
        response.addHeader("Content-Disposition", "attachment;filename=" + new String(fileName.replaceAll(" ", "").getBytes("utf-8"), "iso8859-1"));
        ServletOutputStream out = response.getOutputStream();
        ExcelWriter writer = new ExcelWriter(out, type, true);
        setSheet(SheetNameAndDateList, writer);
        writer.finish();
        out.flush();
        System.out.println("    ");
    } catch (IOException e) {
        e.printStackTrace();
    }
}

/*** 현재 시간으로 파일 이름 생성 * @return */
public static String fileName() {
    String fileName = "";
    try {
        fileName = new String(
                (new SimpleDateFormat("yyyy-MM-dd").format(new Date())).getBytes(), "UTF-8");
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }
    return fileName;
}

/**
 * @Author jian
 * @Description //setSheet  
 */
private static void setSheet(Map> SheetNameAndDateList, ExcelWriter writer) {
    int sheetNum = 1;
    for (Map.Entry> stringListEntry : SheetNameAndDateList.entrySet()) {
        Sheet sheet = new Sheet(sheetNum, 0, stringListEntry.getValue().get(0).getClass());
        sheet.setSheetName(stringListEntry.getKey());
        writer.write(stringListEntry.getValue(), sheet);
        sheetNum++;

    }
}

OK! 완성했어!

좋은 웹페이지 즐겨찾기