-
JAVA Excel 읽고 쓰기JAVA 2021. 6. 2. 13:59728x90
JAVA 에서 Poi 라이브러리를 사용하면 EXCEL 을 편집할 수 있다
기존 Excel 파일을 읽어서 그 위에 새롭게 편집을 하고 싶을 때 사용하면 좋은 예제이다
위 엑셀 파일에서 메뉴1, 메뉴2, 메뉴3 인 Header 에 메뉴4, 메뉴5 를 추가하고 싶고 Cell 의 값을 새로 바꾸고 싶다
Excel 읽고 쓰기 순서
엑셀 파일을 읽고 다시 쓸 필요가 있다
그 순서는 아래와 같다
1. FileInputStream 으로 파일 읽기
2. XSSFWorkbook 객체 생성하기
3. XSSFSheet 객체 생성
4. XSSFRow 첫번째 Row 가져와서 수정하기
5. 2번째 Row 부터 데이터 삽입
6. FileOutputStream 으로 파일 저장하기
7. 자원반환
Code
코드로 1~5 을 살펴보자
String filePath = "C:\\Users\\a360500\\Desktop\\sample.xlsx"; // 불러올 파일 // 1. FileInputStream 으로 파일 읽기 FileInputStream inputStream = new FileInputStream(filePath); // 2. XSSFWorkbook 객체 생성하기 XSSFWorkbook workbook = new XSSFWorkbook(inputStream); // 3. XSSFSheet 객체 생성 - 첫번째 시트를 가져온다 XSSFSheet sheet = workbook.getSheetAt(0); // 4. XSSFRow 첫번째 Row 가져와서 수정하기 XSSFRow row = sheet.getRow(0); // 시트의 첫번째 Row 를 가져온다 int lastColNum = row.getLastCellNum(); // 마지막 칼럼의 index 를 구한다 row.createCell(lastCellNum).setCellValue("메뉴4"); // 칼럼을 생성한다 // 5. 2번째 Row 부터 데이터 삽입 for(int i = 0; i < 2; i++) { row = sheet.createRow(i + 1); // row 를 새로 생성한다 row.createCell(0).setCellValue((10 * i) + (i + 1)); row.createCell(1).setCellValue((10 * i) + (i + 2)); row.createCell(2).setCellValue((10 * i) + (i + 3)); row.createCell(3).setCellValue((10 * i) + (i + 4)); } // 6. FileOutputStream 으로 파일 저장하기 FileOutputStream out = new FileOutputStream(filePath); workbook.write(out); // 7. 자원 반환 out.close(); workbook.close(); inputStream.close();
728x90728x90'JAVA' 카테고리의 다른 글
[JAVA] 한글 깨짐 (0) 2021.06.14 [JAVA] Ecplise 삭제하고 다시 설치하기 (0) 2021.06.09 JAVA File 열기, 삭제, 이름 바꾸기 (file open, delete, rename) (0) 2021.06.02 문자열 String 이 숫자인지 확인하는 방법 (0) 2021.03.30