easyExcel을 사용하여 데이터 내보내기
3444 단어 excel 내보내기easyExcel
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! 완성했어!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 는 easyExcel 을 사용 하여 엑셀 데이터 사례 를 내 보 냅 니 다.자바 영역 해석,엑셀 생 성 으로 유명한 프레임 워 크 는 Apache poi,jxl 등 이 있다.그러나 그들 모두 심각 한 문 제 는 메모리 소모 다.만약 당신 의 시스템 병발 량 이 많 지 않다 면 괜 찮 을 수...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.