2017-04-07 29 views
0

Excelファイル(3行と2列の間に空白行がない)からいくつかのテストデータを読み込もうとしていますが、出力にはExcelの最初の行が表示されています。その後、それは私にnullポインタの例外を与えています。Excelファイルからセレンを読み込む

public class ReadDataFromExcel { 

    public void readExcel(String filePath,String fileName,String sheetName) throws IOException { 

     File file = new File(filePath+"\\"+fileName); 
     FileInputStream inputStream = new FileInputStream(file); 
     Workbook myWorkbook = null; 
     String fileExtensionName = fileName.substring(fileName.indexOf(".")); 

     if(fileExtensionName.equals(".xlsx")) { 
      myWorkbook = new XSSFWorkbook(inputStream); 
     } 
     else if(fileExtensionName.equals(".xls")) { 
      myWorkbook = new HSSFWorkbook(inputStream);  
     } 

     Sheet mySheet = myWorkbook.getSheet(sheetName);  
     int rowCount = mySheet.getLastRowNum()- guru99Sheet.getFirstRowNum(); 
     System.out.println("Total rows= " +rowCount); 

     for (int i = 0; i < rowCount+1; i++) { 
      Row row = mySheet.getRow(i); 
      int columnCount = row.getLastCellNum() - row.getFirstCellNum();   

      for(int j=0; j <= columnCount; j++) {        
       System.out.print(row.getCell(j).getStringCellValue()+"|| "); 
      } 
      System.out.println(); 
     } 
    } 

    public static void main(String...strings) throws IOException { 

     ReadDataFromExcel objExcelFile = new ReadDataFromExcel(); 
     String filePath = System.getProperty("user.dir")+"\\src\\testFileInputOutput"; 
     objExcelFile.readExcel(filePath,"testExcel.xlsx","testSheet"); 
    } 
} 

私は、このライン上の例外を取得しています:あなたはこれで例外がスローされた行を置き換えることにより、ヌルをチェックすることができるのNullPointerExceptionを乗り越えるために System.out.print(row.getCell(j).getStringCellValue()+"|| ");

答えて

0

Cell cell = row.getCell(j); 
if (cell != null) { 
    System.out.print(cell.getStringCellValue()); 
} 
System.out.print("|| "); 
関連する問題