#excel #excel-formula #phpspreadsheet
#excel #excel-формула #phpspreadsheet
Вопрос:
Я использую PhpSpreadsheet (1.15.0) для создания документа XLSX с формулами. Одной из этих формул является формула Ctrl Shift Enter (CSE).
При создании документа и последующем его открытии вычисляются простые формулы (например, ‘= SUM (A1: A2)’). Пользователям нечего делать с формулами, им просто нужно заполнить ячейки.
Однако я не знаю, как заставить мою формулу CSE оцениваться при открытии. Прямо сейчас формула действительна и правильно переведена с именами локализованных функций, но пользователям все равно приходится оценивать ее вручную, перейдя в ячейку, затем в строку формул и, наконец, нажав Ctrl Shift Enter.
Нет ли какого-либо способа сообщить Excel через PhpSpreadsheet, чтобы он оценивал эту формулу при открытии?
Например, вот моя формула CSE: =SUM(--(FREQUENCY(IF(E14:E25="CREDIT_CARD",MATCH(F14:F25,F14:F25,0)),ROW(F14:F25)-ROW(F14) 1)>0))
Ответ №1:
Кажется, PhpSpreadsheet не может этого сделать прямо сейчас, я не знаю почему. В этом должны быть некоторые сложности.
Но я нашел запрос на извлечение, который соответствует моим потребностям, путем обработки формул массива: https://github.com/PHPOffice/PhpSpreadsheet/pull/1591