Sto provando a eseguire i miei primi test di lettura di file xlsx di grandi dimensioni con POI, ma per eseguire un semplice test con un file piccolo non riesco a mostrare il valore di una cella.Leggere il file xlsx con il POI (SXSSFWorkbook)
Qualcuno può dirmi qual è il mio errore. Tutti i suggerimenti sono ben accetti Grazie.
Test.java:
import java.io.File;
import java.io.FileInputStream;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class Test {
public static void main(String[] args) throws Throwable {
File file = new File("/tmp/test.xlsx");
OPCPackage pkg = OPCPackage.open(new FileInputStream(file.getAbsolutePath()));
XSSFWorkbook xssfwb = new XSSFWorkbook(pkg);
SXSSFWorkbook wb = new SXSSFWorkbook(xssfwb, 100);
Sheet sh = wb.getSheet("Hola");
System.out.println("Name: "+sh.getSheetName()); // Line 19
System.out.println("Val: "+sh.getRow(1).getCell(1).getStringCellValue()); // Line 20
}
}
Risultato:
Name: Hola
Exception in thread "main" java.lang.NullPointerException
at Test.main(Test.java:20)
test.xlsx:
Grazie, ma ho bisogno di SXSSFWorkbook viene utilizzato per elaborare un file di grandi dimensioni senza eliminare l'errore di memoria. – alditis
Si prega di consultare: [stessa domanda] (http://stackoverflow.com/questions/12513981/reading-data-from-xlsx-sxssfsheet-with-apache-poi-java) SXSSFWorkBook è solo scrittura, non supporta la lettura – IDKFA
Usando SXSSFWorkbook possiamo evitare di buttare fuori dall'eccezione di memoria. E possiamo scrivere più di un record di llakh. Ma permette solo il formato .xlsx. – swamy