2017-02-18 5 views
0

Я использую PHPExcel_v1_8, я применил формулу для некоторых ячеек, например, следующих.Ячейка формулы PHPexcel переопределяется вместо замены на столбце фильтра

$objPHPExcel->getActiveSheet()->SetCellValue('G4','=SUBTOTAL(2,B6:B'.$row.')'); 
$objPHPExcel->getActiveSheet()->SetCellValue('H4','=ROUND(SUBTOTAL(9,Q6:Q'.$row.'),2)'); 

Я также попытался как

$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(6,4,'=SUBTOTAL(2,B6:B'.$row.')'); 

Здесь $ строка означает общее количество строк.

Но когда я отфильтровываю любой столбец, он добавляет/отменяет значение используемой формулы. Посмотрите следующую отфильтрованную общую строку.

enter image description here

Я хочу только последнее значение должно в отфильтрованной все средство строки необходимо заменить существующее значение. Прямо сейчас, я получаю правильную ценность, но почему она переопределена? Любые предложения, какими могут быть решения?

ответ

0

Вы действительно обнаружили настоящую ошибку здесь. Я не знал, когда я реализовал логику SUBTOTAL в PHPExcel, что он работал только с видимыми строками и игнорировал скрытые строки. Можете ли вы поднять вопрос о github repo

Однако чтение через MS Excel docs для субтотального, функции 2 или 9 будет возвращать результат для всех строк в диапазоне (скрытый или иным образом), а 102 или 109 вернет результат только для видимых строк

Смежные вопросы