我有一个名为"Read"
的类,我正在读取Excel工作表的特定单元格A1
的值,然后将该值放入变量"Cellresult"
中。在另一个类"Patient"
中,我试图将文本字段的值与id "txtVFNAME"
进行比较,而不是我为特定单元格创建的变量。
我正在进行如下的单元读取和变量存储(它工作正常)。
public class Read {
public String Cellresult;
public static void main(String[] args) {
Workbook workbook = null;
Sheet sheet = null;
String Cellresult;
try {
workbook = Workbook.getWorkbook(new File("D:\\rptViewer.xls"));
} catch (BiffException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sheet = workbook.getSheet(0);
int columNumber = 0;
int rowNumber = 1;
Cell a1 = sheet.getCell(columNumber,rowNumber);
Cellresult = a1.getContents();
System.out.println(Cellresult);
if(a1.getContents().equalsIgnoreCase("HAJI NIGAR")){
System.out.println("Found it");
}
}
}
为了比较数值,我在下面的"Patient"
课程中尝试过,但没有打印出来:
Read compare = new Read ();
WebElement a = idriver.findElement(By.id("txtVFNAME"));
if (a.equals(compare.Cellresult)){
System.out.println("text is equal");
};
我正在使用Java,IE 10,Win 8,Eclipse。
答案 0 :(得分:2)
您声明了两个不同的String Cellresult;
。 main
中的一个是将使用值初始化的那个,但类成员Cellresult
仍为null。因此,当您尝试从另一个类访问它时,它没有任何价值。
也许删除里面的那个并使外部的static
答案 1 :(得分:0)
只需删除您的String Cellresult;
在您的主页中,您当前使用的是Cellresult = a1.getContents();
目前这是您的本地变量CellResult
。在比较部分中,您引用的属性Cellresult
不同。您已设置本地变量的值。您的属性仍为空,导致比较方法与任何内容进行比较