我正在编写以下函数,使用 Apache poi 从 Excel 获取数据
public static List<List<String>> getXMLData(String RowName,String SheetName ) throws Exception{
List<List<String>> dataToWrite = new ArrayList<List<String>>();
try{
ExcelWSheet = ExcelWBook.getSheet(SheetName);
int itotalRow=ExcelWSheet.getLastRowNum();
System.out.println("itotalRow:"+itotalRow);
int itotalCol=ExcelWSheet.getRow(0).getLastCellNum();
System.out.println("itotalCol:"+itotalCol);
List<String> xmlTags = new ArrayList<String>();
List<String> xmlvalues = new ArrayList<String>();
for(int j=1;j<=itotalCol;j++){
if(ExcelWSheet.getRow(1).getCell(j).getStringCellValue().isEmpty()==false){
xmlTags.add(ExcelWSheet.getRow(0).getCell(j).getStringCellValue()) ;
System.out.println("xmlTags:"+j+xmlTags);
}
if(ExcelWSheet.getRow(1).getCell(j).getStringCellValue().isEmpty()==false){
xmlvalues.add(ExcelWSheet.getRow(1).getCell(j).getStringCellValue()) ;
System.out.println("xmlvalues:"+xmlvalues);
}
}
for(String tag:xmlTags){
System.out.println("xmlTags:"+tag);
}
for(String tagval:xmlvalues){
//System.out.println("xmlvalues:"+tagval);
}
dataToWrite.add(xmlTags);
dataToWrite.add(xmlvalues);
for(List<String> tagall:dataToWrite){
System.out.println("dataToWrite:"+tagall);
}
} catch (Exception e){
e.printStackTrace();
}
return dataToWrite;
}
此处所有值均从Excel工作表中正确分配给List
。
如果我打印List
的{{1}}&amp;在for循环中xmlTags
添加到xmlvalues
后,所有值都会正确打印。
但是,一旦for循环退出空指针,就抛出异常。此处List
重新启动到List
,我无法确定原因。{/ p>
for循环内打印的结果如下:
null