스프링 엑셀다운로드
+
안녕하세요 신코딩입니다. 오늘은 엑셀다운로드를 해볼건데요 리스트가 있다면 대부분 엑셀기능도 같이 있는경우가 있어서
연습삼아 엑셀다운로드를 해볼까합니다
의존성 주입(DI)
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.7</version> </dependency>
만약 업무특성상 엑셀에 대용량에 데이터가 들어갈경우는 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 |