Java 列表的值<;字符串>;离开循环时变为null
我正在编写以下函数以使用ApachePOI从Excel中获取数据Java 列表的值<;字符串>;离开循环时变为null,java,arraylist,Java,Arraylist,我正在编写以下函数以使用ApachePOI从Excel中获取数据 尝试复制一个小的、自包含的正确示例。并花一两分钟实际格式化您的代码如果这是您缩进代码的方式,调试需要六个小时或更长时间,我并不感到惊讶。发布(添加到您的问题中)带有完整堆栈跟踪的异常。至少告诉我们,NPE发生在哪一行? public static List<List<String>> getXMLData(String RowName,String SheetName ) throws Exception{
尝试复制一个小的、自包含的正确示例。并花一两分钟实际格式化您的代码如果这是您缩进代码的方式,调试需要六个小时或更长时间,我并不感到惊讶。发布(添加到您的问题中)带有完整堆栈跟踪的异常。至少告诉我们,NPE发生在哪一行?
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;
}