既存の 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. jxl.write.biff.LabelRecord.setCellDetails(LabelRecord.java:216) の biff.CellValue.setCellDetails(CellValue.java:282) jxl.write.biff.WritableSheetImpl.addCell(WritableSheetImpl.java:1199) の ExcelOperations.WriteToDoc (ExcelOperations.java:149) ChequeImage.main (ChequeImage.java:174) で
注: 「appendingSheet.addCell(label);」の行で例外が発生しているようです。
助けてくれてありがとう。
EDIT 1 : 下の画像は、「appendingSheet.addCell(label)」が実行される直前の appendingSheet の内容を示しています。それが何を表しているのか正確にはわかりませんが、確かにnullではないようです。