Sommare le colonne in PHPExcel
PHPExcel supporta la creazione di formule direttamente in fase di creazione del file.
L'unica cosa a cui bisogna stare attenti, è scrivere la giusta formula; le formule possono cambiare a seconda se si usa MS Office o LibreOffice ad esempio.
Comunque, in questo caso, vedremo la semplice SUM, che è standard.
Quindi ad esempio:
$xls->getActiveSheet()->setCellValue('A10', '=SUM('A1:A9')');
Questa riga dovrebbe stampare nella A10 la somma delle righe A1:A9.
Se invece abbiamo un range di colonne / righe da sommare, possiamo sfruttare la funzione range in questo modo:
$lastRow = $xls->getActiveSheet()->getHighestRow();
$lastRow1 = $lastRow + 1;
foreach (range('A', $xls->getActiveSheet()->getHighestDataColumn()) as $col) {
$xls->getActiveSheet()->setCellValue($col . $lastRow1, '=SUM(' . $col . '1:' . $col . $lastRow . ')');
}
Prima identifichiamo qual'è l'ultima con un valore, in modo da scrivere in quella subito sotto ($lastRow1).
Poi eseguiamo un cliclo partendo dalla colonna A fino all'ultima colonna trovata valorizzata.
Per ogni colonna facciamo la somma, e scriviamo il risultato nella riga identificata prima, all'altezza della colonna corrente.
Probabilmente è da adattare alle vostre esigenze, ma può essere un buon punto di partenza.
Enjoy!
php phpexcel sum libreoffice ms office
Commentami!