엑셀 bookList 불러오는 예제 질문
280
1 asked
안녕하세요.
인프런 TPC 실전프로젝트를 수강중인 박민우입니다.
다름이 아니라 강의에서는 엑셀 확장자가 .xls로 수업중인데,
저는 실무에서 .xlsx로 엑셀을 많이 활용해서 이 확장자로 엑셀을 읽어들이고 있습니다.
현재 인터넷을 뒤져봐서 관련 library들을 다운받고, 실행하기까지는 성공했는데,
아래와 같이 에러가 뜹니다.
일단 읽을려고 하는 데이터들은 잘 읽어져서 오는데, 빨간색 5줄이 떠서요.
인터넷에 찾아보니깐 jdk9 이상부터는 뜨는 에러라고 하는 것 같더군요.
혹시 이 에러 지울려면 어떻게 해야 되는지 알 수 있을까요???
제 소스와 현재 TPCProject의 라이브러리들이 다음과 같으니 확인하시고,
해결하신 분이 계신다면 답변좀 부탁드리겠습니다.
작성한 코드
package com.tpc.second.ddd;
import java.io.File;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
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.openxml4j.opc.OPCPackage;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import kr.bit.structure.ExcelVO;
public class TPCProject16 {
public static void main(String[] args) {
// String filePath = "/kr/bit/file/bookList.xlsx";
// String filePath = "bookList.xlsx";
String filePath = "C:/JavaTPC/newWorkspace/JavaTPCProject/src/kr/bit/file/bookList.xlsx";
List<ExcelVO> bookList = new ArrayList<ExcelVO>();
System.out.println("try 진입 전 1111111111");
// try (FileInputStream fis = new FileInputStream(filePath)) {
// try (POIFSFileSystem fis = new POIFSFileSystem(new FileInputStream(filePath))) {
// try(OPCPackage fis = OPCPackage.open(new File(filePath));) {
try (FileInputStream fis = new FileInputStream(new File(filePath))) {
System.out.println("try 진입 1111111111");
// HSSFWorkbook workbook = new HSSFWorkbook(fis);
XSSFWorkbook workbook = new XSSFWorkbook(fis);
System.out.println("try 진입 222222222");
// opcPackage.close();
// HSSFSheet sheet = workbook.getSheetAt(0);
XSSFSheet sheet = workbook.getSheetAt(0);
Iterator rows = sheet.rowIterator();
String[] excelColumn = new String[5];
rows.next();
while(rows.hasNext()) {
// HSSFRow row = (HSSFRow) rows.next();
XSSFRow row = (XSSFRow) rows.next();
Iterator cells = row.cellIterator();
int i = 0;
while(cells.hasNext()) {
// HSSFCell cell = (HSSFCell) cells.next();
XSSFCell cell = (XSSFCell) cells.next();
excelColumn[i] = cell.toString();
i++;
} // while
ExcelVO vo = new ExcelVO(excelColumn[0] , excelColumn[1] , excelColumn[2] , excelColumn[3] , excelColumn[4]);
bookList.add(vo);
} // while
} catch (Exception e) {
e.printStackTrace();
}
showExcelData(bookList);
}
private static void showExcelData(List<ExcelVO> dataList) {
for(ExcelVO dataElement : dataList) {
System.out.println(dataElement);
}
}
}
현재 라이브러리들
감사합니다.
즐거운 강의 되세요.
Answer 1
0
사실 첫번째 사진의 빨간 5줄의 에러가 떠도 *.xlsx를 읽어오거나 수정, 생성하는데는 문제가 없습니다.
다만, 개발자 입장에서는 마음 한 구석이 편하지 않는 그런 사항이 있죠.
일단 떠도 실행하는데는 상관없으니깐 신경 안쓰셔도 될 문제이긴 합니다.
cmd창.. 인텔리제이 소켓만들기 (실습)
0
176
2
Gson
0
152
1
JSON API 활용하기(JSON-Java)
0
325
2
질문있습니다
0
257
1
질문있습니다.
0
213
1
강의 들으면서 잘 안되는 부분이 있어서요~
0
349
1
지도가 나오지 않아요
0
358
1
Gson 라이브러리 추가시 오류
0
1807
1
아래 소스의 차이가 뭘까요?
0
313
1
선생님 javaTPC API편 PDF파일이 안보여서요~
0
339
1
cmd에서 프로그램 실행 실패
0
519
1
TPC강의 모두 수강 후 현재 실전프로젝트 강의중 질문입니다.
0
271
1
BookDTO 생성자 질문
0
355
1
A instance of B의 작동원리가 궁금합니다!
0
282
1
채팅관련 질문입니다
1
414
0
cmd창 경로
0
326
1
connect 할 때 post 방식
0
272
0
JSONTokener 에러
0
347
1
Project03_A > rows.next 질문드립니다.
0
216
0
InputStream is = Project01_C.class.getResourceAsStream(src) 경로에 대해서
0
338
1
JSONObjct를 쓰는 이유 ??
1
289
1
지도 api 프로젝트 코드 문의
0
373
3
오류: 기본 클래스 Project06A_Server.class을(를) 찾거나 로드할 수 없습니다.
0
551
1
new 객체생성 자동완성 로딩 오류
0
520
1

