Ошибки при копировании рабочей книги с использованием JExcel API - PullRequest
2 голосов
/ 17 июля 2011

Я пытаюсь скопировать большой файл Excel с несколькими таблицами и множеством формул с помощью JExcel API;однако, когда я запускаю следующий код -

Workbook w = Workbook.getWorkbook(inputWorkbook);

WritableWorkbook wcopy = Workbook.createWorkbook(new File("C:/filename.xls"), w);

, я получаю ошибки ниже ...

>jxl.common.AssertionFailed
>>> at jxl.common.Assert.verify(Assert.java:37)
>>> at jxl.write.biff.SheetCopier.copySheet(SheetCopier.java:329)
>>> at jxl.write.biff.WritableSheetImpl.copy(WritableSheetImpl.java:1584)
>>> at jxl.write.biff.WritableWorkbookImpl.copyWorkbook(WritableWorkbookImpl.java:971)
>>> at jxl.write.biff.WritableWorkbookImpl.<init>(WritableWorkbookImpl.java:343)
>>> at jxl.Workbook.createWorkbook(Workbook.java:339)
>>> at jxl.Workbook.createWorkbook(Workbook.java:320)
>>> at shortcut.ModifyCell.getValue(ModifyCell.java:66)
>>> at shortcut.ModifyCell.main(ModifyCell.java:88)

>Exception in thread "main" jxl.common.AssertionFailed
>>> at jxl.common.Assert.verify(Assert.java:37)
>>> at jxl.write.biff.SheetCopier.copySheet(SheetCopier.java:329)
>>> at jxl.write.biff.WritableSheetImpl.copy(WritableSheetImpl.java:1584)
>>> at jxl.write.biff.WritableWorkbookImpl.copyWorkbook(WritableWorkbookImpl.java:971)
>>> at jxl.write.biff.WritableWorkbookImpl.<init>(WritableWorkbookImpl.java:343)
>>> at jxl.Workbook.createWorkbook(Workbook.java:339)
>>> at jxl.Workbook.createWorkbook(Workbook.java:320)
>>> at shortcut.ModifyCell.getValue(ModifyCell.java:66)
>>> at shortcut.ModifyCell.main(ModifyCell.java:88)

и создается пустой файл Excel с заданным именем.Мне было интересно, есть ли какие-либо известные ограничения на копирование электронных таблиц с помощью JExcel API - например, форматы или формулы, которые нельзя прочитать, ограничения по размеру, ограничения макросов и т. Д.?

(Когда я запустил код в их электронной таблице, он отлично скопировался, поэтому я не думаю, что это проблема с кодом, хотя могу ошибаться.)

// Редактировать:Вот предупреждения, которые я получил (кратно каждому):

Чтение ...

Предупреждение: имя хранилища свойств для 5 пусто - установка в Root Entry

Предупреждение:Использование локального не встроенного имени

Копирование ...

Предупреждение. Формула общего шаблона недействительна - пробует самый последний шаблон формулы

Предупреждение: ячейка F155 уже содержит данные

Предупреждение: неизвестный тип фигуры Предупреждение: неизвестный тип фигуры

Предупреждение: ячейка на H45 отсутствует - добавляется пробел

Предупреждение: ячейка на J45 отсутствует - добавляется пробел

Предупреждение. Ячейка H45 уже содержит данные

Предупреждение: Ячейка J45 уже содержит данные

1 Ответ

0 голосов
/ 12 ноября 2016

Всякий раз, когда JXL читает формулы, он выдаст предупреждение логгера. Если вы измените все формулы на числа, предупреждения исчезнут.

...