Apache POI 라이브러리를 사용하여 Excel 파일을
생성하고 처리하는 방법을 정리해보겠습니다.
개념
- ROW: 가로 줄
- CELL: 세로 줄
- 한 줄씩 생성할 때마다 create로 객체를 생성해야 합니다.
import 처리
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.util.CellRangeAddress;
객체 선언
HSSFWorkbook objWorkBook = new HSSFWorkbook(); // 엑셀 객체 선언
HSSFSheet objSheet = null; // 엑셀 시트 객체
HSSFRow objRow = null; // 엑셀 시트 내 ROW 객체
HSSFCell objCell = null; // 엑셀 시트 내 CELL 객체
셀 설정
HSSFCellStyle styleHd3 = objWorkBook.createCellStyle(); // 셀 스타일 객체 선언 (헤더 모양 잡기)
styleHd3.setAlignment(CellStyle.ALIGN_CENTER); // 가운데 정렬
styleHd3.setVerticalAlignment(CellStyle.VERTICAL_CENTER); // 높이 가운데 정렬
styleHd3.setBorderRight(HSSFCellStyle.BORDER_THIN); // 테두리 오른쪽 설정
styleHd3.setBorderLeft(HSSFCellStyle.BORDER_THIN); // 테두리 왼쪽 설정
styleHd3.setBorderTop(HSSFCellStyle.BORDER_THIN); // 테두리 상단 설정
styleHd3.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 테두리 하단 설정
폰트 설정
HSSFFont font3 = objWorkBook.createFont(); // 폰트 설정 객체 생성
font3.setFontHeightInPoints((short) 10); // 폰트 크기 설정
font3.setFontName("맑은고딕"); // 폰트 설정
styleHd3.setFont(font3); // 선언한 셀에 폰트 타입 설정
엑셀 시트 생성 및 이름 설정
objSheet = objWorkBook.createSheet("테스트 시트");
로우 만들기, 병합 및 값 넣기
objRow = objSheet.createRow(1);
objRow.setHeight((short) 0x150);
objSheet.addMergedRegion(new CellRangeAddress(1, 1, 0, 23));
objCell = objRow.createCell(0);
objCell.setCellValue("헤더 표 이름");
엑셀 다운로드 처리
response.setContentType("Application/Msexcel");
response.setHeader("Content-Disposition", "ATTachment; Filename=" + excel_title + ".xls");
OutputStream fileOut = response.getOutputStream();
objWorkBook.write(fileOut);
fileOut.close();
response.getOutputStream().flush();
response.getOutputStream().close();
추가 정보
- Apache POI 라이브러리: Apache POI는 Java API로, Microsoft Office 파일 형식을 읽고 쓰는 데 사용됩니다. HSSF는 Excel 97-2003 형식(.xls)을 다루는 데 사용됩니다.
- CellStyle: 셀 스타일을 설정하여 셀의 정렬, 테두리, 배경색 등을 지정할 수 있습니다.
- Font: 폰트를 설정하여 셀 내 텍스트의 글꼴, 크기, 색상 등을 지정할 수 있습니다.
- CellRangeAddress: 셀 병합을 위해 사용되는 클래스입니다.
이렇게 하면 Excel 파일을 생성하고 스타일을 설정하는 방법을 이해할 수 있습니다.
'Java&Framework' 카테고리의 다른 글
No converter found for return value of type: class java.util.HashMap (Json converter 에러) (0) | 2023.01.11 |
---|---|
[Java] 날짜&시간 포맷 설정 - SimpleDateFormat (0) | 2023.01.05 |
[Java] HttpServletRequest - URL,URI 값 추출하기 (0) | 2021.09.08 |
[파이썬] 기초 정리 (0) | 2020.12.09 |
[Spring Boot]_갠플정리/ 간단방명록 만들기 (2) | 2020.09.10 |