2

У меня есть вопрос об открытии экспортных листов Excel в Excel. У меня есть приложение, которое экспортирует в Excel, которое построено с OutSystems (платформа разработки PaaS). При первом открытии исключений любые формулы, такие как = 1+1, не оцениваются, а отображаются только в тексте. Когда я дважды щелкаю по этим ячейкам и нажимаю ввод, они действительно оцениваются.

Я использую Excel 2010 и 365 (пробовал на двух компьютерах). Автоматическая оценка формул включена, и когда я сам набираю = 1+1, она оценивается немедленно.

Так ли это для всех старых версий Excel? И можно ли что-то поместить в ячейку, чтобы Excel смог оценить формулы?

1 ответ1

1

Я знаю, что это очень поздно, но я решил прокомментировать, поскольку столкнулся с тем же, пытаясь экспортировать аналогичные данные с веб-сайта, который я разрабатывал. То, что я сделал, я копался в базовый XML, изменив расширение .xlsx на файл .zip (согласно этому предложению). Именно здесь я мог видеть, что Excel обычно создает ячейку с формулой, подобной этой:

<c r="J14" s="1"><f>H15*1.5</f><v>0</v></c>

Формула находится в <f> , <v> - это значение. Когда вы пытаетесь жестко закодировать формулу в ячейку из сторонней программы, она полностью отказывается от <f> . Поэтому Excel не знает, как правильно его интерпретировать. Я полагаю, что нечто подобное происходит с файлами .xls, но, поскольку они не имеют базовой структуры XML, я не смог проверить файл.

Мне удалось исправить мою проблему с помощью SheetJS, однако это закодировано на сайте. Что касается автономного исправления, самое чистое решение, которое я мог бы найти, - это использовать макрос, чтобы выполнить трюк «replace = with =», но даже это более громоздко, чем я ожидал, и на самом деле не работало бы для меня из-за систем, которые мы использовать. Истинное решение было бы для приложения, которое выполняет экспорт, чтобы заранее интерпретировать текст ячейки и построить ячейки в формате <f>formula</f><v>value</v> , когда результирующий текст начинается со знака равенства ,

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .