Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [PHPExcel] esiste un tutorial in italiano?

    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.

  2. #2
    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!

  3. #3
    Grazie della risposta!
    Adesso ci provo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.