반응형

저번 포스팅에서 apache poi로 엑셀을 생성하고 가장 기본적인 표를 생성해봤습니다. 이번 포스팅엔 좀 더 응용해서 셀 병합 기능을 사용해보려고 합니다. 저번에 사용한 코드에서 몇 가지만 추가해주면 간단하게 사용할 수 있습니다.
[JAVA] apache poi로 엑셀 생성하는 방법 #1 표 만들기
Java에서는 apache poi 라이브러리를 이용하면 엑셀, 워드, 파워포인트 등 다양한 문서를 제어하고 생성할 수 있습니다. 우선 apache poi 라이브러를 사용하기 위해서는 해당 프로젝트에 추가를 해주셔
sookr5416.tistory.com
import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.hssf.usermodel.HSSFCell; 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.BorderStyle; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.HorizontalAlignment; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.VerticalAlignment; import org.apache.poi.ss.util.CellRangeAddress; public class Main { public static void main(String[] args) throws IOException { HSSFWorkbook workBook = new HSSFWorkbook(); CellStyle defaultStyle = workBook.createCellStyle(); // 테두리 설정 defaultStyle.setBorderTop(BorderStyle.THIN); defaultStyle.setBorderLeft(BorderStyle.THIN); defaultStyle.setBorderRight(BorderStyle.THIN); defaultStyle.setBorderBottom(BorderStyle.THIN); // 줄 바꿈 및 중앙 정렬 defaultStyle.setWrapText(true); defaultStyle.setAlignment(HorizontalAlignment.CENTER); defaultStyle.setVerticalAlignment(VerticalAlignment.CENTER); // 시트 생성 및 셀 높이 설정 HSSFSheet sheet = workBook.createSheet(); sheet.setDefaultRowHeightInPoints(30); for (int i=0; i<10; i++) { Row row = sheet.createRow(i); for (int j=0; j<5; j++) { Cell cell = row.createCell(j); cell.setCellStyle(defaultStyle); cell.setCellValue("셀 생성 (" + i + ", " + j + ")"); sheet.setColumnWidth(j, 3000); } } // 9번째 행의 1번째~4번째 열을 합친다. (추가된 부분) sheet.addMergedRegion(new CellRangeAddress( 9, 9, 0, 4 )); HSSFRow Row = sheet.getRow(9); HSSFCell cell = Row.getCell(0); cell.setCellValue("셀 병합한 라인입니다."); defaultStyle.setWrapText(true); cell.setCellStyle(defaultStyle); try { File xlsFile = new File("C:/EXCEL_TEMP/test.xls"); FileOutputStream fileOut = new FileOutputStream(xlsFile); workBook.write(fileOut); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { workBook.close(); } } }

반응형
'개발 & 데이터베이스 > JAVA' 카테고리의 다른 글
[JAVA] 배열 생성과 선언 사용하는 방법 (0) | 2022.02.28 |
---|---|
[JAVA] apache poi로 엑셀 생성하기 #3 이미지 생성하기 (0) | 2021.12.14 |
[JAVA] apache poi로 엑셀 생성하는 방법 #1 표 만들기 (0) | 2021.12.12 |
[JAVA] 자바의 기초 #2 버퍼 입출력스트림 (Buffered ···) 개념 및 사용 방법 (0) | 2021.12.02 |
[JAVA] 자바의 기초 #1 입출력 IO (System.in, System.out) (0) | 2021.12.01 |