2013-10-13 6 views
0

Я пытаюсь использовать формулу, которая не имплантирована в PHPExcel, но в excel, COUNTIFS с двумя аргументами.Формула исчезает php excel

Я обновляю формулу файл в PHPExcel и добавить

$objWriter->setPreCalculateFormulas(false); 

Чтобы иметь никаких ошибок поколения.

Но когда я открываю файл с помощью excel, у меня есть только 0 и нет формулы. У меня также есть открытый и ремонт, и это удалить функцию Я думаю

Это, например,

$sheet->setCellValue($this->intToChar($j).($end+$i),'=COUNTIFS(E$17:F$47;$B58;E$16:F$46;$B58)'); 

Если я просто добавить

$sheet->setCellValue($this->intToChar($j).($end+$i),'COUNTIFS(E$17:F$47;$B58;E$16:F$46;$B58)'); 

и я установить = первенствует это работает

Спасибо за помощь

+0

Какой автор вы используете? COUNTIFS должен работать с Excel2007 Writer с помощью $ objWriter-> setPreCalculateFormulas (false); но не является основной функцией для файлов Excel BIFF, поэтому он недоступен для Excel5 Writer –

ответ

1

В документации явно указано, что запятые (,) следует использовать в качестве разделителя аргументов для аргументов функции, если вы явно не задали локаль для механизма вычисления; так что вам нужно

$sheet->setCellValue(
    $this->intToChar($j).($end+$i), 
    '=COUNTIFS(E$17:F$47,$B58,E$16:F$46,$B58)' 
); 

А почему вы используете доморощенный intToChar() функции, когда есть встроенная функция в PHPExcel_Cell :: stringFromColumnIndex()?

+0

Он работает и благодарит за отзыв с PHPExcel_Cell :: stringFromColumnIndex() – Ajouve