2 回答

TA貢獻1844條經(jīng)驗 獲得超8個贊
int row = 1;
int previousRow=1; // I am assuming that first row index is 1
while(true)
{
String previousDomain = "";
String previousDashboard ="";
if(row != 1){ // check its not the first row else it will throw an exception because row doesn't exist
previousRow = row - 1;
previousDomain = sheet.getRow(previousRow ).getCell(0).getStringCellValue();
previousDashboard = sheet.getRow(previousRow ).getCell(1).getStringCellValue();
}
String domain = sheet.getRow(row).getCell(0).getStringCellValue();
String dashboard = sheet.getRow(row).getCell(1).getStringCellValue();
// String report =
sheet.getRow(row).getCell(2).getStringCellValue();
if(!domain.equals(null))
{
listOfDashboards.add(domain + ";" + dashboard);
row++;
// System.out.println("" + domain + "" + dashboard +"" +
report);
}
else
{
break;
}
}

TA貢獻1776條經(jīng)驗 獲得超12個贊
假設(shè)“域”和“儀表板”是表頭(th)。
這是您可以使用的 xpath
簡單:硬編碼的 td 索引(如果在儀表板單元之前添加了新單元,則會中斷)
"//td[normalize-space(.)='" + dashboard + "']/ancestor::tr/preceding-sibling::tr//td[2]//a"
基于列名稱的返回值:無論儀表板單元格的位置如何(首選)都有效
"//td[normalize-space(.)='" + dashboard + "']/ancestor::tr/preceding-sibling::tr//td[position()=count(//th[normalize-space(.)='Dashboard']/preceding-sibling::th)+1]//a"
添加回答
舉報