2012-09-20 4 views
7

Ich möchte Daten (Zellwerte) aus einer bestimmten XLSX-Datei mit Apachi poi lesen. Der folgende Code erstellt die SXSSFWorkBook-Instanz erfolgreich und weist db.xlsx (my dummy xlsx) zu. Ich habe versucht, Blattnummern zu ändern und es mit der Methode getSheetNumber zu überprüfen, um sicherzustellen, dass die Arbeitsmappe korrekt zugewiesen ist.Lesen von Daten aus xlsx mit Apache POIs SXSSFSheet

Als nächstes möchte ich ein bestimmtes Blatt (Index 0 mit Namen main) zu SXSSFSheet Instanz zuweisen, aber derzeit gibt es null. (Ich habe beide versucht getSheetAt und getSheet Methoden).

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(); 

Was mache ich falsch?

Edit:

Ich habe getSheetName Methode versucht und hatte ein positives Ergebnis. Das Problem besteht also darin, Zeilen in Worksheet zu erreichen. Die letzte Zeile getLastRowNum() funktioniert nicht.

Antwort

14

Sie können nicht. SXSSFWorkBook ist nur schreiben, es unterstützt nicht

Für niedrige Speicher Lesen von XLSX-Dateien zu lesen, Sie an den XSSF and SAX EventModel documentation

+0

Dank viel aussehen sollte, es hat funktioniert! :) – Ozan

Verwandte Themen