POI 가 져 오기 내 보 내기 excle
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import java.util.NoSuchElementException;
/**
*@ClassName ExcelUtiles
*@Description TODO
*@Author
*@Date 2018/10/22 10:56
*@Version 1.0
**/
public class ExcelUtils {
/**
* Excel
* @param list
* @param title
* @param sheetName
* @param pojoClass
* @param fileName
* @param isCreateHeader
* @param response
*/
public static void exportExcel(List> list, String title, String sheetName, Class> pojoClass,
String fileName, boolean isCreateHeader, HttpServletResponse response, HttpServletRequest request){
ExportParams exportParams = new ExportParams(title, sheetName);
exportParams.setCreateHeadRows(isCreateHeader);
defaultExport(list, pojoClass, fileName, response, request, exportParams);
}
private static void defaultExport(List> list, Class> pojoClass, String fileName,
HttpServletResponse response, HttpServletRequest request, ExportParams exportParams) {
Workbook workbook = ExcelExportUtil.exportExcel(exportParams,pojoClass,list);
if (workbook != null); downLoadExcel(fileName, response, request, workbook);
}
private static void downLoadExcel(String fileName, HttpServletResponse response, HttpServletRequest request, Workbook workbook) {
try {
String agent = request.getHeader("USER-AGENT").toLowerCase();
response.setContentType("application/vnd.ms-excel");
String codedFileName = java.net.URLEncoder.encode(fileName, "UTF-8");
// firefox
if (agent.contains("firefox")) {
response.setCharacterEncoding("utf-8");
response.setHeader("content-disposition", "attachment;filename=" + new String(fileName.getBytes(), "ISO8859-1") + ".xls");
} else {
response.setHeader("content-disposition", "attachment;filename=" + codedFileName + ".xls");
}
workbook.write(response.getOutputStream());
} catch (IOException e) {
throw new RuntimeException(e.getMessage());
}
}
/**
* @Descript easypoi
* @param file
* @param titleRows
* @param HeadRows
* @param StartRows
* @param startSheetIndex sheet
* @param sheetNum sheet
* @param pojoClass
* @param
* @return
*/
public static List importExcel(MultipartFile file, Integer titleRows,Integer HeadRows,Integer StartRows,Integer startSheetIndex,Integer sheetNum,Class pojoClass){
if (file == null){
List list = new ArrayList();
list.add(0," ");
return list;
}else {
ImportParams params = new ImportParams();
params.setStartSheetIndex(startSheetIndex);
params.setSheetNum(sheetNum);
params.setHeadRows(HeadRows);
params.setTitleRows(titleRows);
params.setStartRows(StartRows);
params.setNeedVerfiy(true); //
List list = null;
try {
list = ExcelImportUtil.importExcel(file.getInputStream(), pojoClass, params);
} catch (NoSuchElementException e) {
throw new RuntimeException(e.getMessage());
} catch (Exception e) {
throw new RuntimeException(e.getMessage());
}
return list;
}
}
}
예제 내 보 내기:
/**
* excle
*@Auther
*
* @return
*/
@ResponseBody
@RequestMapping("/exportExcelExt")
public void exportExcelExt( HttpServletResponse response, HttpServletRequest request) {
try {
//1、
List extractedExpertList = expExtractService.getExtractedExpertsByCondition(projectIdsList, expertIdsList, expertStatus);
//2\ excle
ExcelUtils.exportExcel(extractedExpertList, null, " excle,shell ", ExportExcelExperts.class, " excle ", true, response,request);
}catch (Exception e){
logger.error(" , :", e);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.