Я пытаюсь использовать poi для чтения файла Excel и копирования его в отдельный файл. У меня это работает правильно, однако для автоматически сгенерированных формул в Excel, используя инструмент перетаскивания (см. Изображение) Инструмент перетаскивания Дата «00/01/1900» отображается в виде строки в ячейках. Пои знает, что ячейка является формулой, однако формула считается пустой. Я считаю, что формулы могут не кэшироваться, так как, когда я нажимаю, чтобы отредактировать поле в Excel, а затем запускаю программу, формула отображается правильно. Программа: Использует потоковое считыватель, найденный здесь https://github.com/monitorjbl/excel-streaming-reader, чтобы прочитать все ячейки (поскольку файл слишком велик, чтобы использовать xssf reader, а sxssf слишком сложен для меня)
switch (c.getCellType())
{
case STRING:
cell.setCellValue(c.getStringCellValue());
break;
case NUMERIC:
cell.setCellValue(c.getNumericCellValue());
break;
case BLANK:
break;
case BOOLEAN:
cell.setCellValue(c.getBooleanCellValue());
break;
case ERROR:
cell.setCellErrorValue(c.getErrorCellValue());
break;
case FORMULA:
cell.setCellFormula(c.getCellFormula());
break;
default:
break;
}
Это используется для установки новой ячейкизначение, которое добавляется в книгу, а затем сохраняется в виде файла. Буду очень признателен за любые советы относительно того, что я могу сделать по этому вопросу.