Groovy POI создал ячейки, считанные пустыми другими программами, пока ENTER не будет нажат вручную в ячейках
Хорошо, это трудно объяснить.
Я создаю ячейку на своем листе с помощью JAVA POI
newCell= row.getCell(index) if (containerCell == null) { containerCell = row.createCell(index) } newCell.setCellType(HSSFCell.CELL_TYPE_STRING) newCell.setCellValue(strVar)
Если затем открыть рабочий лист в EXCEL, я вижу, что значение ячейки действительно установлено. Однако, если я загружу это в другую внешнюю программу, которая читает листы EXCEL, она утверждает, что ячейка, которую я только что установил, пуста.
- Копировать заголовок и диапазон от одного листа к другому
- Копирование данных в название диапазона в excel 2007 через vba
- Excel VBA подсчитывает разные значения из нескольких диапазонов
- Ошибка 1004 при создании сводной таблицы из PivotCache (из Access)
- datepicker, который работает для Excel 2010/2007/2003
СЕЙЧАС, если я вернусь в excel и сделаю простой «Hit return» в соответствующей ячейке, в строке формулы (даже если это не формула) и попытайтесь перезагрузить ее во внешнюю программу, она отлично работает. Нужно ли оценивать формулу в строке?
благодаря
- Как проверить, содержит ли ячейка только символы из определенного списка?
- Определение матрицы импорта из Excel в MATLAB
- Использование ячеек диапазона и UsedRange для каждого цикла
- Функция фильтра PowerPivot
- Ограничение доступа к исходным данным Excel
- Как извлечь сообщение электронной почты и заполнить таблицу со значениями
- Экспорт данных Excel имеет небольшие ящики с вопросительными знаками
- Исключить выходные дни из динамического диапазона дат
У меня нет опыта работы с Java, но для того, чтобы попасть в ячейку, обычно указывается, что вычисление устанавливается в ручном режиме. Поскольку вы работаете с API, он может обрабатывать ваш ввод с Java в виде формулы (?).
Откройте нарушающую книгу в разбитом состоянии, а на листе у вас возникнут проблемы с выбором вкладки [Формулы] наверху, затем [Расчет]> «Рассчитать лист».
Если это обновит значение, я вижу два варианта …
Посмотрите, есть ли возможность вручную вычислить лист с POI после того, как значение было введено.
Кроме того, вы можете написать всего лишь маленький бит VBA, чтобы заставить вычисление на этом листе при открытии книги. MSDN предлагает простой пример.
http://msdn.microsoft.com/en-us/library/office/aa223802%28v=office.11%29.aspx
Я должен был сделать это для приложений Excel, где расчет должен был быть установлен вручную, чтобы избежать чрезмерных издержек. Просто гадать, хотя ..
Я не уверен, почему это происходит. И оценка отдельных ячеек не решила его, однако работа evaluteAll()
во всей книге заставила его работать!