package com.selenium;
import java.io.FileInputStream;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import java.io.IOException;
public class Exxcel {
public static void main(String[] args) throws Exception,NullPointerException{
//WebDriver driver= new FirefoxDriver();
//WebElement wb;
String Value;
try{
FileInputStream file= new FileInputStream("C:\\Documents and Settings\\OMEGA\\Desktop\\Test Planning And Documents\\Automation Data.xlsx");
Workbook data=WorkbookFactory.create(file);
Sheet sheet=data.getSheet("Sheet1");
for(int i=1;i<=sheet.getLastRowNum();i++){
Row row = sheet.getRow(i);
if(row != null){
// Putting condition to check row is null or not
for (int j = 1; j < row.getLastCellNum();) {
if (row.getCell(j) != null) {
// Putting condition to check row cell is null or not
String value=row.getCell(j).getStringCellValue();
Value=value;
//String value1=row.getCell(j+1).getStringCellValue();
String[] array= new String[2];
array[0]=Value;
//array[1]=value1;
if( array[0] != null ) {
// Putting condition to check array[] is null or not
System.out.println(array[0]);
//System.out.println(array[1]);
}
}
}
}
}
}catch(NullPointerException n){
n.printStackTrace();
//System.out.println("Null");
}// catch
}//main
}//class
这是我试图运行的代码,但是一旦我点击运行按钮,它就会停止响应。不知道为什么会发生这种情况?
答案 0 :(得分:4)
你的循环可能永远不会结束:
for (int j = 1; j < row.getLastCellNum();) {
我没有看到j
在您的代码中的任何位置递增。
主GUI线程上的无限循环会产生副作用以冻结IDE。
作为OP Shantanu commented,添加增量j ++足以解决这种情况:
for(int j=0; j<=row.getLastRowNumber(); j++) {
...
}
答案 1 :(得分:1)
您必须在第二个for循环上放置一个递增或递减操作符。你没有在第二个循环中放置任何条件,这就是你的程序进入无限循环并且eclipse在性能上变慢的原因。
使用以下代码更改您的代码:
for(int j=0; j<=row.getLastRowNumber(); j++)
{
//Your Code
}