Java 列表的值<;字符串>;离开循环时变为null

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

我正在编写以下函数以使用ApachePOI从Excel中获取数据


尝试复制一个小的、自包含的正确示例。并花一两分钟实际格式化您的代码如果这是您缩进代码的方式,调试需要六个小时或更长时间,我并不感到惊讶。发布(添加到您的问题中)带有完整堆栈跟踪的异常。至少告诉我们,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;
}