기본 지식 : 시트(sheet) - 행(row), 열(column?) - 셀(cell) <- 최종적으로 셀에 스타일(setCellStyle)과 데이터값 입력(setCellValue)
Workbook ⊃ Sheet ⊃ Row ⊃ Cell(style, value)
○ 글자 정렬 : 정렬은 스타일에 포함이 되므로, 셀 스타일 생성 후 정렬 세터(setAlignment)에서 지정
CellStyle mystyle = myworkbook.createCellStyle(); mystyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
cf) 정렬 종류 : ALIGN_GENERAL, ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT
○ 폰트(크기) : 폰트도 스타일에 포함이 되므로, 폰트 세터(setFont)에서 지정
Cell mycell = mysheet.getCell(0); // 셀 생성
Font myfont = myworkbook.createFont(); //폰트 객체 생성
myfont.setColor(Font.COLOR_RED); //폰트 색 설정
myfont.setFontHeightInPoints((short)17); //폰트 크기 설정
myfont.setBoldWeight(Font.BOLDWEIGHT_BOLD); //폰트 BOLD 처리 설정
mystyle.setFont(myfont); //스타일 폰트 세터 설정
mycell.setCellStyle(mystyle);
○ 배경색 : 스타일에 포함 되므로, 배경색 세터(setFillForegroundColor + setFillPattern) 에서 지정
mystyle.setFillForegroundColor(HSSFColor.GREEN.index); mystyle.setFillPattern(HSSFColor.SOLID_FOREGROUND); mycell.setCellStyle(mystyle);
cf) 배경색 목록 : http://res.ebook.ruanko.com/ebookapi/uploads/apidocs/apache-POI/org/apache/poi/hssf/util/HSSFColor.html
○ (셀)필드값 채우기 : 셀 객체 생성 후, 값 세터(setCellValue)에서 지정
mycell.setCellValue("미나토자키사나");
○ 셀 병합 : 셀에 스타일, 값 설정 후 셀 병합(addMergedRegion) 또는 셀 병합 후 셀에 스타일+값 설정
myshee.addMergedRegion(new CellRangeAddress('병합 할 시작 행넘버', '병합 할 마지막 행넘버', '병합 할 시작 셀 넘버', '병합 할 마지막 셀 넘버'));
cf) 엑셀 파일 생성 : 파일 객체 사용
try{
String fileName = "엑셀" //확장자 추가 xlsx
File f = new File('생성될 파일의 위치(경로)');
f.mkdirs();
FileOutputStream fos = new FileOutputStream(f+FILE.separator+fileName);
myworkbook.write(fos);
}catch(Exception e){
e.printStackTrace();
}finally{
fos.close();
}
댓글
댓글 쓰기