[Spring Boot] 스프링 부트 엑셀 파일에 데이터 쓰기

2024. 3. 27. 16:19· Spring Boot
목차
  1. 1. build.gradle
  2. 2. WriteExcel.java
  3. 3. 실행 결과

1. build.gradle

dependencies {

    // https://mvnrepository.com/artifact/org.apache.poi/poi
	implementation group: 'org.apache.poi', name: 'poi', version: '4.1.2'
	implementation group: 'org.apache.poi', name: 'poi-ooxml', version: '4.1.2'
	// https://mvnrepository.com/artifact/org.apache.tika/tika-core
	implementation group: 'org.apache.tika', name: 'tika-core', version: '2.3.0'
    
}

 

2. WriteExcel.java

import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;

public class WriteExcel {
    public static void writeToExcel(String id, String name) {
        try {
            // 파일을 읽기 위한 InputStream 생성
            InputStream file = new FileInputStream("src/main/resources/static/student.xlsx");
            XSSFWorkbook workbook = new XSSFWorkbook(file);
            XSSFSheet sheet = workbook.getSheetAt(0);

            // 새로운 행을 추가하기 위한 로직
            int lastRowNum = sheet.getLastRowNum();
            XSSFRow row = sheet.createRow(lastRowNum + 1);

            // 셀에 데이터 쓰기
            row.createCell(0).setCellValue(Integer.parseInt(id));
            row.createCell(1).setCellValue(name);

            // 변경 사항을 적용하기 위해 파일을 새로 쓰기
            FileOutputStream fileOut = new FileOutputStream("src/main/resources/static/student.xlsx");
            workbook.write(fileOut);

            // 리소스 정리
            fileOut.close();
            workbook.close();
            file.close(); // InputStream도 닫기

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

 

3. 실행 결과

public static void main(String[] args) {

        // 실행 결과 확인
        // 번호 : 1 ~ 10 , 이름 : username1 ~ username10
        for (int i = 1; i <= 10; i++) {
            writeToExcel(Integer.toString(i), "username" + i);
        }
    }
}

 

  • 실행 전

 

  • 실행 후

  • 원하는 형식의 데이터가 작성됨을 확인!
  • 기존의 파일을 열고 데이터를 작성한 후 같은 이름으로 저장해서 덮어씀
    • 다른 이름으로 저장 가능
저작자표시 변경금지 (새창열림)

'Spring Boot' 카테고리의 다른 글

[Spring Boot] 스프링 메일 전송 방법 ( + google Gmail SMTP 설정)  (0) 2024.03.28
[Spring Boot] 스프링 부트 엑셀 파일 업로드 예제( + 엑셀 파일 열기로 업로드 확인 )  (0) 2024.03.28
[AWS] EC2 서버 시간 설정 (TimeZone 변경)  (0) 2024.03.26
[Spring Boot] 원하는 시간에 특정 코드 자동 실행시키기 (@Scheduled)  (0) 2024.03.26
[Spring Boot] JSON String , Object 변환 (JSONParser, Gson, object-mapper)  (0) 2024.03.16
  1. 1. build.gradle
  2. 2. WriteExcel.java
  3. 3. 실행 결과
'Spring Boot' 카테고리의 다른 글
  • [Spring Boot] 스프링 메일 전송 방법 ( + google Gmail SMTP 설정)
  • [Spring Boot] 스프링 부트 엑셀 파일 업로드 예제( + 엑셀 파일 열기로 업로드 확인 )
  • [AWS] EC2 서버 시간 설정 (TimeZone 변경)
  • [Spring Boot] 원하는 시간에 특정 코드 자동 실행시키기 (@Scheduled)
공대생안씨
공대생안씨
전자공학과 학부생의 코딩 일기
티스토리
|
로그인
공대생안씨
공대생의 코딩 일기
공대생안씨
글쓰기
|
관리
전체
오늘
어제
  • All Categories (153) N
    • Spring Boot (46)
      • JPA (7)
      • Lombok (2)
    • Java (21)
    • DevOps (3)
      • CI,CD (8)
      • Monitoring (2) N
    • Database (7)
      • MySQL (5)
      • MongoDB (1)
      • H2 (1)
    • Trouble Shooting (5)
    • FE (4)
    • IntelliJ (3)
    • Git (3)
    • Algorithm (41)

블로그 메뉴

  • 홈
  • 태그
  • Github

공지사항

인기 글

hELLO · Designed By 정상우.v4.2.2
공대생안씨
[Spring Boot] 스프링 부트 엑셀 파일에 데이터 쓰기
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.