2018.12.08 스프링 엑셀다운로드

2018. 12. 8. 20:20·FreamWork/Spring

스프링 엑셀다운로드 



   

+




안녕하세요 신코딩입니다. 오늘은 엑셀다운로드를 해볼건데요 리스트가 있다면 대부분 엑셀기능도 같이 있는경우가 있어서 
연습삼아 엑셀다운로드를 해볼까합니다 





의존성 주입(DI)


poi ( xls 사용시필요 )

<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.7</version> </dependency>


poi-ooxml ( xlsx 사용시필요 )
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.7</version> </dependency>

xls  형식의 엑셀은 한시트에 최대 65,535행의 데이터를 가질수 있다고 하네요!!
xlsx 형식의 엑셀은 한시트에 최대 1,0488,576행의 데이터를 가질수 있다고 하네요!!


만약 업무특성상 엑셀에 대용량에 데이터가 들어갈경우는 xlsx를 사용하게는 나을꺼같네요 선택은자유니까요~~

의존성주입을 다해주셧다면 바로 Java코드로 넘어가겠습니다.




화면


Excel 버튼 클릭 시 

$.ajax({

type : "get",

url : "./excelDownXlsx"

data : { url : $(location).attr('pathname'), sheetNm : "감리원 정보목록" },

success : function(data){ messageJs.alertMeassge(data); }

});


url의 경우 해당url로 경로를 받아  url마다 DB에서 정보를 조회하기위한 값입니다





①. xlsx


Controller

produces → Ajax로 return값을 던져줄시 한글이 깨지므로 처리


@RequestMapping(value ="/excelDownXlsx", produces = "application/text; charset = utf8")

public @Response String excelDownXlsx(){


//-- 객체선언

XSSFRow row = null;

XSSFCell cell = null;

List<HashMap<String, Object>> m = null;

String [] sKey = {"name", "sex", "age", "addr"};



XSSFWorkBook workBook = new XSSFWorkbook();

XSSFSheet sheet = workBook.createSheet("시트명");



//-- m 객체의 DB에서 가져온 데이터가 있다고 가정하고 진행하겠습니다.

if( m.isEmpty() == false && m.size() > 0 ){


for(int i = 0; i < m.size(); i++){

// 1.row에 시트를 생성

row = sheet.createRow(i);


for(int j = 0; j < sKey.length; j++){


// 2.생성된 Row에 Cell생성

cell = row.createCell(j);


// 3.생성된 Cell에 데이터 Add

cell.SetCellValue( m.get(i).get(sKey[j]).toString() );

}

}

}


FileOutputStream fileOutPut = new FileOutputStream("다운받을 경로");


// 4.데이터까지 Add된 파일을 쓴다.

workBook.write(fileOutPut);


// 5. fileOutPut 닫아준다.

fileOutPut.close();



// 마지막으로 성과여부

return "엑셀다운로드 완료!!";

}


여기까지가 xlsx 형식입니다.




②. xls

저작자표시 비영리 (새창열림)

'FreamWork > Spring' 카테고리의 다른 글

2018.11.26 스프링 사용이유 - 왜 스프링을 사용하지?  (0) 2018.11.26
2018.05.27 스프링개발 - (4) DB연결 및 Mybatis 연결 테스트  (0) 2018.05.27
2018.05.26 스프링개발 - (3) Mybatis 연결  (0) 2018.05.26
2018.05.24 스프링개발 - (2) web.xml 설정 및 정리  (0) 2018.05.24
2018.03.22 스프링 개발 - (1) 개발환경 구성하기  (0) 2018.03.22
'FreamWork/Spring' 카테고리의 다른 글
  • 2018.11.26 스프링 사용이유 - 왜 스프링을 사용하지?
  • 2018.05.27 스프링개발 - (4) DB연결 및 Mybatis 연결 테스트
  • 2018.05.26 스프링개발 - (3) Mybatis 연결
  • 2018.05.24 스프링개발 - (2) web.xml 설정 및 정리
기록하는 공간 - SHIN
기록하는 공간 - SHIN
공부한것으로 정리하기 위한 공간입니다. 혹시 도움이 되신다면 좋구요. 부족한점이 보이시면 댓글로 피드백 주시면 감사합니다!! ※일주일에 한개씩 업로드를 목적으로 합니다!!
  • 기록하는 공간 - SHIN
    기록하는 공간 - SHIN
    기록하는 공간 - SHIN
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 언어
        • Java
        • JavaScript
        • PHP
      • 데이터베이스
      • 라이브러리 & API
      • FreamWork
        • Spring
        • Vue
      • 형상관리
        • SVN
      • 서버
      • 도움되는 말
      • 모바일
        • iOS
        • Android
      • 기타
        • 배치파일
        • IDE
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
기록하는 공간 - SHIN
2018.12.08 스프링 엑셀다운로드
상단으로

티스토리툴바