inflearn logo
강의

Course

Instructor

Java TPC Practical Project (Using Java API)

엑셀 bookList 불러오는 예제 질문

280

lwmwpark3523

1 asked

0

안녕하세요.

인프런 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);
		}
	}
}

현재 라이브러리들

감사합니다.

즐거운 강의 되세요.

java oop

Answer 1

0

lwmwpark3523

사실 첫번째 사진의 빨간 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