Zunächst entschuldige ich mich für mein schlechtes Englisch, es ist nicht meine primäre Sprache. Ich habe ein Problem mit meinem Code beim Lesen einer Excel-Datei (xlsx). Das erste Mal, als ich meinen Code benutzt habe, funktioniert es perfekt, aber jetzt kann ich es nicht benutzen. Der Excel-Inhalt wird auf der Konsole ausgegeben, daneben befindet sich jedoch eine NullPointerException, die durch die mit (- >>>) markierte for-Schleife verursacht wird. Wenn mir jemand helfen kann, wäre ich sehr dankbar, dieser Code hat mir einige Kopfschmerzen bereitet.For Loop NullPointerException mit Apache POI
package modleerjava;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class leerExcel {
public void readExcel(String rutaFile,String nombreFile, String sheetName)
throws IOException {
File file = new File ("C:/Users/Pablo/Desktop/prueba.xlsx");
FileInputStream inputStream = new FileInputStream(file);
XSSFWorkbook excelWorkbook ;
excelWorkbook = new XSSFWorkbook(inputStream);
Sheet excelSheet = excelWorkbook.getSheet(sheetName);
int filasCount = excelSheet.getLastRowNum()-excelSheet.getFirstRowNum();
for (int i=0; i< filasCount+1 ; i++) {
Row filas;
filas = excelSheet.getRow(i);
-->>> for (int j=0 ; j < filas.getLastCellNum(); j++) {
System.out.print(filas.getCell(j).getStringCellValue()+"|| ");
}
System.out.println();
}
}
}
Siehe https://stackoverflow.com/questions/218384/what-is-a-null-pointer-exception-and-how-do-i-fix-it (Entschuldigung kann den Link nicht formatieren) – StephaneM
Bitte debugge deinen Code. Es hört sich so an, als ob Ihr 'i' außerhalb der Grenzen für Zeilennummern im Blatt liegt, und es wird durch seltsame Berechnungen von' filasCount' verursacht. Aber der einzige Weg, um sicherzustellen, ist das Debuggen, und wir haben Ihre Daten nicht. –
Muss Datenproblem sein. –