Quote Originariamente inviata da Zioraff Visualizza il messaggio
Ho bisogno di usare questa classe per generare dei bei file di excel con dati da database, con formattazioni avanzate e formule
ma non trovo nessun tutorial in italiano,
che voi sappiate ne esiste uno?
Con l'Inglese è sempre difficile.
uhm no, in effetti la documentazione in generale non la trovo un granchè.

ti posto un mio esempio se può esserti utile:
Codice PHP:
<?php

include_once 'PhpSpreadsheet/Bootstrap.php';

$xls = new \PhpOffice\PhpSpreadsheet\Spreadsheet();

$xls->getProperties()->setCreator('IO')
        ->
setLastModifiedBy('IO')
        ->
setTitle("TITOLO")
        ->
setSubject("SUBJECT ")
        ->
setDescription("DESCRIZIONE ");
$xls->setActiveSheetIndex(0)
        ->
setCellValue('A1''ARTICOLO')
        ->
setCellValue('B1''DESCRIZIONE')
        ->
setCellValue('C1''PREZZO')
        ->
setCellValue('D1''10%')
        ->
setCellValue('E1''20%');
$row 2;

// eseguo la query su db (quello dipende da cosa usi per estrarre i dati, ed indipendente da phpexcel)
foreach ($query as $l) {
    
$xls->setActiveSheetIndex(0)
            ->
setCellValue('A' $row$l['listino_articolo_codice'])
            ->
setCellValue('B' $row$l['articolo_descrizione_ita'])
            ->
setCellValue('C' $rownumber_format($l['listino_prezzo'], 2',''.'))
            ->
setCellValue('D' $rownumber_format($pr100',''.'))
            ->
setCellValue('E' $rownumber_format($pr200',''.'));
    
$row++;
}

// imposto l'autosize per le colonne
foreach (range('A'$xls->getActiveSheet()->getHighestDataColumn()) as $col) {
    
$xls->getActiveSheet()->getColumnDimension($col)->setAutoSize(true);
}

// imposto la prima riga in grassetto
$xls->getActiveSheet()->getStyle('A1:Z1')->getFont()->setBold(TRUE);

// imposto il sorting
$xls->getActiveSheet()->getProtection()->setSort(TRUE);

// imposto la prima in grigio
$xls->getActiveSheet()->getStyle('A1:Z1')->getFill()->setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID)->getStartColor()->setRGB('C9C9C9');

header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="file.xls"');
header('Cache-Control: max-age=0');
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($xls'Xls');
$writer->save('php://output');
c'è qualche funzione sparsa qua e la.
vedi se può esserti d'aiuto!