Apache Poi игнорирует автоматически сгенерированные формулы - PullRequest
1 голос
/ 21 октября 2019

Я пытаюсь использовать 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;
                }

Это используется для установки новой ячейкизначение, которое добавляется в книгу, а затем сохраняется в виде файла. Буду очень признателен за любые советы относительно того, что я могу сделать по этому вопросу.

...