Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- formgroup
- angular button
- angular modal
- 아이오닉 스크롤 이벤트
- 모달
- scroll
- TAILWIND
- 옵저버블
- ajax 사용 예시
- Ionic modal
- angular animation
- ApexChart
- 스크롤 이벤트 감지
- modal
- 앵귤러 애니메이션
- angular route
- prisma
- 검색
- Angular Router
- 스크롤 이벤트
- mysql if
- flex-1
- 셀렉트박스 커스텀
- Oracle LISTAGG 사용 예시
- 호버
- Router
- 앵귤러 모달
- summary
- egov spring ajax 사용 예시
- route
Archives
- Today
- Total
깜놀하는 해므찌로
Egov Spring Controller Java 엑셀 업로드 메소드 예시 본문
반응형
SMALL
/* 엑셀 업로드 */
@ResponseBody
@RequestMapping(folderPath+"saveExcel.json")
public ModelAndView COUNTRY_01_excelProc(@ModelAttribute("searchVO") searchVO searchVO, ModelMap model , HttpServletRequest request) throws Exception {
List<searchVO> list = null;
FileVO fileVO = new FileVO();
int total = 0;// 총건수
int cnt = 0;// 성공건수
int fail = 0;// 실패건수
String filePath = "";// 파일경로
String atchFileId = "";// 첨부파일ID
String fileSn = "";// 첨부파일순번
String fileEncodingNm = "";// 변환된 파일이름 (ex : ATCH201712321310)
String fileExtnnNm = "";// 확장자
atchFileId = StringUtil.nullString(searchVO.getAtchFileId());
fileSn = "0";
// 첨부파일ID, 순번 셋팅
fileVO.setAtchFileId(atchFileId);
fileVO.setFileSn(fileSn);
// 첨부파일정보 조회
FileVO fvo = fileMngService.selectFileInf(fileVO);
// 첨부파일이 있다면
if(fvo != null){
fileEncodingNm = fvo.getStreFileNm(); //변환파일명
fileExtnnNm = fvo.getFileExtsn(); //파일확장자
// 파일경로
filePath = fvo.getFileStreCours() + "/" + fileEncodingNm;
// 확장자 : 엑셀97-2003 버전
if("xls".equals(fileExtnnNm)){
model.addAttribute("error", "엑셀파일확장자가 xlsx이 아닙니다.\n엑셀2007 이상 버전을 사용해주세요.");
// 확장자 : 엑셀2007 이상 버전
}else if("xlsx".equals(fileExtnnNm)){
System.out.println("파일 경로 확인 : " + filePath);
list = this.xlsxReadList(filePath);
}else{
model.addAttribute("error", "확장자가 엑셀파일이 아닙니다.");
}
// 엑셀에서 추출한 데이터 DB 저장
if(list != null){
total = list.size();// 총건수
cnt = 0;// 성공건수
fail = 0;// 실패건수
SearchVO inData = new SearchVO();
inData.setExcelList(list);
try{
cmmnService.insertContents(inData, PROGRAM_ID + ".excelInsertContents");
cnt++;
}catch(FileNotFoundException fe){
fail++;
fe.printStackTrace();
}
}
}else{
model.addAttribute("error", "파일이 없습니다.");
}
model.addAttribute("total", total);
model.addAttribute("cnt", cnt);
model.addAttribute("fail", fail);
return new ModelAndView(ajaxView,model);
}
1. 통신 상태를 알려주기 위해 @ResponseBody 어노테이션 사용
2. 엑셀 버전 xls / xlsx 유효성 검사
반응형
LIST
'IT' 카테고리의 다른 글
JavaScript charCodeAt (0) | 2022.09.19 |
---|---|
Spring Controller Java 엑셀파일 읽기 메소드 예시 / POI 라이브러리 (0) | 2022.09.18 |
monthPicker 한 달 달력 예시 / JavaScript 한 달 달력 (0) | 2022.09.16 |
SQL MOD 함수 (0) | 2022.09.15 |
SYSDATETIME (0) | 2022.09.14 |