我知道必须对此有一个简单的答案,但是我很沮丧。我也不知道我在这个问题上使用的措词是否正确。
因此,对于一个项目:我正在逐行和逐个单元地评估excel文档,并将找到的数据分配给具有名称,动物ID和地址的Kitten对象。
在printAddress()方法中,我想以字符串形式返回每个Kitten对象的地址,但是我只返回excel输入文档中列出的最后一个Kitten的最后一个地址。如果可能的话,我想避免使用嵌套的for循环。
我是否应该考虑将一个数组做成小猫数量的大小,存储它们的地址,然后将其作为字符串返回?
代码:
public class ReadExcelDoc {
public String printAddress(){
String printedAddress = "";
try {
FileInputStream kittenFile = new FileInputStream(new
File("./IntakeNotes.xlsx")
XSSFWorkbook wb = new XSSFWorkbook(kittenFile);
XSSFSheet sheet = wb.getSheetAt(0);
ArrayList<Kitten> kittenList = new ArrayList<Kitten>();
for (int i= sheet.getFirstRowNum() + 1; i<=
sheet.getLastRowNum(); i++) {
Kitten k = new Kitten();
Row r = sheet.getRow(i);
for (int j = r.getFirstCellNum(); j<= r.getLastCellNum();
j++) {
Cell c = r.getCell(j);
if (j==0) k.setName(c.getStringCellValue());
...
if (j==2) k.setAddress(c.getStringCellValue());
}
kittenList.add(k);
}
for (Kitten kit: kittenList) {
printedAddress = kit.getAddress();
}
wb.close();
}
catch(Exception e) { e.printStackTrace();}
return printedAddress;
}}