Я пытаюсь добавить информацию в существующий файл Excel, но получаю исключение java.lang.NullPointerException. См. приведенный ниже код и сообщение об исключении.
Код:
private WritableSheet appendingSheet;
private static File report;
public void AppendToDoc (String path) throws IOException, WriteException, BiffException {
this.inputFile = path;
report = new File(inputFile);
Workbook appendingWorkbook = Workbook.getWorkbook(new File(inputFile));
WritableWorkbook copy = Workbook.createWorkbook(new File("output.xls"),appendingWorkbook);
appendingSheet = copy.getSheet("Sheet 1");
}
public void WriteToDoc (int option, String testName, String execDate, String time, boolean status) throws RowsExceededException, WriteException, IOException, BiffException{
int startingRow = NumOfRows(this.inputFile) + 1; //I have a function which finds the number of existing rows in the existing document. It works.
Label label = new Label(1, startingRow, "hello", times);
appendingSheet.addCell(label);
}
Код вызова:
AppendToDoc("C:/Users/smith/ExcelTestFile.xls");
WriteToDoc(2, "This is a test", "executed", timeStamp, true);
Сообщение об исключении:
Исключение в потоке «основной» java.lang.NullPointerException в jxl.write.biff.Styles.getFormat(Styles.java:214) в jxl.write.biff.CellValue.addCellFormat(CellValue.java:468) в jxl.write. biff.CellValue.setCellDetails(CellValue.java:282) в jxl.write.biff.LabelRecord.setCellDetails(LabelRecord.java:216) в jxl.write.biff.WritableSheetImpl.addCell(WritableSheetImpl.java:1199) в ExcelOperations.WriteToDoc (ExcelOperations.java:149) в ChequeImage.main(ChequeImage.java:174)
ПРИМЕЧАНИЕ. Похоже, что исключение происходит в строке "appendingSheet.addCell(label);".
Спасибо за помощь.
EDIT 1: На изображении ниже показано содержимое appendingSheet непосредственно перед выполнением «appendingSheet.addCell(label)». Я не совсем уверен, что он представляет, но он определенно не кажется нулевым. 
appendingSheetинициализируется методомAppendToDocи ограничивается только этим методом. ПричинаNPEдляWriteToDoc, посколькуappendingSheetестьnull.- person Smit   schedule 01.08.2013appendingSheet = copy.getSheet("Sheet 1");РазвеgetSheetне возвращает значение null? - person Jean Waghetti   schedule 01.08.2013appendingSheetнеstatic- person Smit   schedule 01.08.2013NPE, вы уверены, что добавили правильную трассировку стека? - person Smit   schedule 01.08.2013