在打印后在for循环作用域下从xl对值进行赋值然后再打印时,我面临一个问题。当声明in return语句并仅调用第一个单元格值打印方法时。我想要8个单元格的值。
public String Sheet_Infor() {
ReadConfig readconfig = new ReadConfig();
String excelPath = readconfig.getExcelPath();
int Row =0;
String s = "";
try {
Row = XLUtils.getRowCount(excelPath,"Course 7");
} catch (IOException e) {
e.printStackTrace();
}
for (Row = 20; Row<28; Row++) {
try {
s = XLUtils.getCellData(excelPath,"Course 7", Row,1);
return s;
} catch (IOException e) {
e.printStackTrace();
}
//System.out.println("sss="+s);
}
return s;
}
答案 0 :(得分:0)
您可以使用if(condition)来中断/返回所需的值。对于ex,我有一个for循环,最高可达10。在值6处,我想停止并返回该值。可以通过以下方式完成:
private test() {
for (int i = 10; i > 10; i++) {
if(i==5) {
return i;
}
}
}
如果需要所有8个单元格值,则必须将这些值保存在列表/数组中。您可以按照以下方式进行操作:
public List<String> Sheet_Infor() {
ReadConfig readconfig = new ReadConfig();
String excelPath = readconfig.getExcelPath();
int Row = 0;
String s = "";
try {
Row = XLUtils.getRowCount(excelPath, "Course 7");
} catch (IOException e) {
e.printStackTrace();
}
List<String> items = new ArrayList<String>();
for (Row = 20; Row < 28; Row++) {
try {
s = XLUtils.getCellData(excelPath, "Course 7", Row, 1);
items.add(s);
return s;
} catch (IOException e) {
e.printStackTrace();
}
// System.out.println("sss="+s);
}
return items;
}