Olá pessoal!
Guilherme Pedrazzi aqui mais uma vez, porém desta vez venho trazer uma dica bem específica, mais precisamente para classe muito famosa PHPExcel.

Esta classe é responsável por criar planilhas, pdf e outros tipos de arquivos, porém utilizando o PHP.
Eu estava procurando na internet como eu faria com que uma célula da qual escrevo uma função excel, faria aquela função rodar.

Exemplo: eu escrevo utilizando os métodos do PHPExcel, dentro de uma célula (A2), a seguinte função: “=SUM(A3:A7)”

Isto significa que eu quero que na célula A2 apareça o resultado da soma da célula A3 até A7 (A3+A4+A5+A6+A7);
Porém no PHPExcel, não adianta apenas escrever a função na célula.

Para que a célula A2 mostre o resultado da função escrita, deverá conter o seguinte método.

<?php
    getCalculatedValue();
?>

Utilizando na prática:

<?php
//Vamos fingir que todos os métodos de criação e edição do PHPExcel já foram feitos
//Aqui na 4ª linha eu escrevo na célula a função
    $this->excel->getActiveSheet()->setCellValue('A2',"=SUM(A3:A7)");
    
//Aqui eu pego a célula A2 e rodo a função nesta célula para que retorne o resultado da função
    $this->excel->getActiveSheet()->getCell('A2')->getCalculatedValue();
?>

Funciona para qualquer função:

<?php
//função subtotal no excel
    $this->excel->getActiveSheet()->setCellValue('A2',"=SUBTOTAL(9,A3:A7)");
    $this->excel->getActiveSheet()->getCell('A2')->getCalculatedValue();
?>

Bom, espero ter ajudado pois eu não encontrei em lugar nenhum tal informação.

A documentação do PHPExcel está toda em inglês e caso tenha dificuldades eu posso ajuda-los.

Obrigado pela visita e até a próxima!

Deixe uma resposta