본문 바로가기
develop/java

poi 기본 샘플

by hybr1d 2017. 11. 20.
//임의의 VO가 되주는 MAP 객체
Map<String,Object>map=null;
//가상 DB조회후 목록을 담을 LIST객체
ArrayList<Map<String,Object>> list=new ArrayList<Map<String,Object>>();
ArrayList<String> columnList=new ArrayList<String>();
//DB조회후 데이터를 담았다는 가상의 데이터
for(int i=0;i<10;i++){
	map=new HashMap<String,Object>();
	map.put("seq", i+1);
	map.put("title", "제목이다"+i);
	map.put("content", "내용입니다"+i);
	list.add(map);
}
//MAP의 KEY값을 담기위함 
if(list !=null &&list.size() >0){
	//LIST의 첫번째 데이터의 KEY값만 알면 되므로 
	Map<String,Object>m=list.get(0);
	//MAP의 KEY값을 columnList객체에 ADD 
	for(String k : m.keySet()){
		columnList.add(k);
	}
}
//1차로 workbook을 생성 
XSSFWorkbook workbook=new XSSFWorkbook();
//2차는 sheet생성 
XSSFSheet sheet=workbook.createSheet("시트명");
//엑셀의 행 
XSSFRow row=null;
//엑셀의 셀 
XSSFCell cell=null;
//임의의 DB데이터 조회 
if(list !=null &&list.size() >0){
	int i=0;
	for(Map<String,Object>mapobject : list){
		// 시트에 하나의 행을 생성한다(i 값이 0이면 첫번째 줄에 해당) 
		row=sheet.createRow((short)i);
		i++;
		if(columnList !=null &&columnList.size() >0){
			for(int j=0;j<columnList.size();j++){
				//생성된 row에 컬럼을 생성한다 
				cell=row.createCell(j);
				//map에 담긴 데이터를 가져와 cell에 add한다 
				cell.setCellValue(String.valueOf(mapobject.get(columnList.get(j))));
			}
		}
	}
}
FileOutputStream fileoutputstream=new FileOutputStream("D:\\roqkffhwk2.xlsx");
//파일을 쓴다
workbook.write(fileoutputstream);
//필수로 닫아주어야함 
fileoutputstream.close();
System.out.println("엑셀파일생성성공");



출처: http://hellogk.tistory.com/12 [IT Code Storage]


상세 엑셀 설정

http://yanggoony.tistory.com/3

'develop > java' 카테고리의 다른 글

엑셀업로드  (0) 2021.05.25
JAVA API 호출  (0) 2017.12.20
JAVA - 주소로 위경도 및 격자좌표 구하기  (0) 2016.12.27
월 일별로 데이터 넣기  (0) 2016.11.01
JAVA 파일 업로드 및 썸네일 생성 및 FTP 파일 업로드  (0) 2016.05.18