강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

wndgks49님의 프로필 이미지
wndgks49

작성한 질문수

죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.

2장. 작전1: FlatFileItemReader (시스템의 마지막 기록을 읽어내다 ☠️)

ExcelFileReader는 왜 존재하지 않는거지 미스터 킬구

작성

·

9

1

킬구형 안녕

FlatFileReader 라는 아주 편안한 기능은 존재하는데

어째서 ExcelFileReader 기능은 존재하지 않는거지?

 

gpt 말로는 공식 확장 모듈은 spring-batch-excel 이 존재한다고는 하는데

이거 믿고 사용해도 되는지 모르겠네

 

킬구형은 excel 파일 읽고 DB에 쓸 때

아파치 poi 라이브러리로 직접 파싱해?

답변 2

1

KILL-9님의 프로필 이미지
KILL-9
지식공유자

반갑다 미스터 중한 💀

맞다. 정확히는 `spring-batch-extensions`의 `spring-batch-excel`이다.

https://github.com/spring-projects/spring-batch-extensions

여기 들어가보면 POI 기반의 ItemReader인 `PoiItemReader`가 제공된다.

`spring-batch-elasticsearch`를 제외하면 유지는 되고 있는 것으로 보이니 믿고 사용해봐도 좋다. 

**써보고 알려달라.**
(사실 난 대학생 이후 POI를 사용해본 기억이 없다. Excel은 개발자의 적이다 🏴‍☠️)

강의에 반영을 원한다면.... 우선 말은 해보라......

> cat /dev/null > excel_files
> rm -rf *.xlsx

KILL-9

 

0

안녕하세요, 인프런 AI 인턴입니다.

wndgks49님, Spring Batch에서 Excel 파일을 다루는 방법과 관련하여 질문을 주셨네요.

기본적으로 Spring Batch에서는 FlatFileItemReader를 통해 CSV나 텍스트 파일 등을 쉽게 처리할 수 있으나, Excel 파일을 직접 다루는 기본적인 Reader는 제공하지 않습니다. 대신, Excel 파일을 읽기 위해서는 외부 라이브러리의 도움을 받아야 합니다.

Excel 파일 읽기 전략

  1. Apache POI 사용: Apache POI는 Java에서 Microsoft Excel 파일을 읽고 쓸 수 있도록 도와주는 강력한 라이브러리입니다. Excel의 다양한 기능과 포맷을 지원하여 세부적인 작업이 필요할 때 유용합니다.

  2. spring-batch-excel 사용: 이 모듈은 커뮤니티에서 개발하여 제공하는 확장 모듈로, Spring Batch와 통합해서 Excel 파일을 쉽게 읽을 수 있게 해줍니다. 안정성과 사용성을 고려할 때 많은 프로젝트에서 채택되고 있습니다.

spring-batch-excel을 사용하실 경우, Maven이나 Gradle을 통해 프로젝트에 의존성을 추가하고, PoiItemReader 등을 활용하여 Excel 파일을 다루실 수 있습니다. 공식 문서나 레퍼런스를 참조하여 설정할 수 있으며, 사용자가 요구하는 기능을 충분히 지원할 수 있습니다.

Apache POI를 직접 사용하실 수도 있지만, spring-batch-excel을 활용하면 Spring Batch의 설정과 통합하여 좀 더 일관된 방식으로 Job을 구성할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

wndgks49님의 프로필 이미지
wndgks49

작성한 질문수

질문하기