Мне нужно добавить содержимое в существующий файл excel с помощью JExcel.Исключение нулевого указателя с jexcel во время записи
Я пытаюсь следующий подход:
Чтение из книги
workbook = Workbook.getWorkbook(new File(errorFilePath));
Создание записываемый книги из exisitng книги в временный файл
if (!tempFile.exists()) { tempFile.getParentFile().mkdirs(); tempFile.createNewFile(); } newCopy = Workbook.createWorkbook(tempFile, workbook); excelSheet = newCopy.getSheet(0);
Пишите записываемая рабочая тетрадь (время - переменная формата записи)
Label label; label = new Label(column, row, stringData, times); excelSheet .addCell(label);
Закрыть как exisitng и запись workbook-> Удалить exisitng книги в конце концов заблокировать -> Переименовать имя временного файла для существующего имени (теперь удалено) рабочей книги
finally { if (null != newCopy) { newCopy.write(); newCopy.close(); } if (null != workbook) { workbook.close(); } if (null != errorFile && errorFile.exists()) { errorFile.delete(); } if (null != tempFile) { tempFile.renameTo(new File(errorFilePath)); } }
Проблемы все работает отлично для первого запустите (без перераспределения). Но всякий раз, когда я меняю какой-либо Java-код, и повторное развертывание веб-приложения, я получаю исключение из null-указателя, закрывая только что созданную книгу (после записи).
Я получаю следующую трассировку стека (происходящий из линии newCopy.write())
java.lang.NullPointerException
at jxl.write.biff.CellValue.getData(CellValue.java:259)
at jxl.write.biff.LabelRecord.getData(LabelRecord.java:141)
at jxl.biff.WritableRecordData.getBytes(WritableRecordData.java:71)
at jxl.write.biff.File.write(File.java:147)
at jxl.write.biff.RowRecord.writeCells(RowRecord.java:329)
at jxl.write.biff.SheetWriter.write(SheetWriter.java:479)
at jxl.write.biff.WritableSheetImpl.write(WritableSheetImpl.java:1514)
at jxl.write.biff.WritableWorkbookImpl.write(WritableWorkbookImpl.java:950)
Java Версия: 1.6
JExcel Версия: 2.6.10
для Windows 7
Опубликовать свой стекtrace ошибки –
Вы генерируете файл xls или xlsx? –
xls file ... и трассировка стека – Shiva