2012-09-20 2 views
7

apachi poi를 사용하여 특정 xlsx 파일에서 데이터 (셀 값)를 읽으 려합니다. 아래 코드는 SXSSFWorkBook 인스턴스를 성공적으로 만들고 db.xlsx (my dummy xlsx)를 할당합니다. 나는 시트 번호를 변경하고 getSheetNumber 메서드를 사용하여 두 번 확인하여 통합 문서가 올바르게 지정되었는지 확인했습니다.xlsx에서 Apache POI의 SXSSFSheet로 데이터 읽기

다음 나는 SXSSFSheet 인스턴스에 특정 시트 (이름 main와 인덱스 0)을 할당하기를 원하지만 현재는 null를 반환합니다. (나는 모두 getSheetAtgetSheet 방법을 시도했다).

SXSSFRow DummyRow; 
SXSSFCell DummyCell; 

int RowCount; 
OPCPackage pkg = OPCPackage.open(blabla string adress); 

XSSFWorkbook wb = new XSSFWorkbook(pkg); 
Workbook MainBook = new SXSSFWorkbook(wb,100); 

int a = MainBook.getNumberOfSheets(); 

SXSSFSheet MainSheet = (SXSSFSheet) MainBook.getSheetAt(0); 
RowCount = MainSheet.getLastRowNum(); 

내가 뭘 잘못하고 있니?

편집 :

나는 getSheetName 방법을 시도하고 긍정적 인 결과가 있었다. 따라서 문제는 워크 시트의 행에 도달하는 것입니다. 그래서 마지막 줄인 getLastRowNum()이 작동하지 않습니다.

답변

14

수 없습니다. SXSSFWorkBook, 그것은 당신이 많은, 그것은 일한 XSSF and SAX EventModel documentation

+0

감사 봐야한다 .XLSX 파일의 낮은 메모리 읽기 위해

을 읽는 지원하지 않는 경우에만 쓰기입니다! :) – Ozan