Visualizzazione dei risultati da 1 a 3 su 3

Discussione: lettura dati da excel

  1. #1

    lettura dati da excel

    Gentile Team, ho circa 300 file excel in una cartella sul server e tutti sono cosi strutturati


    Schermata 2019-07-24 alle 14.44.20.png

    i nomi dei file sono tutti abbastanza ordinati e con questa struttura: id_anno.xlsx

    vorrei poterli leggere per poi importarne i valori in un db
    è possibile?

    grazie mille
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  2. #2
    ciao!

    certo che si può.
    per leggere file ti consiglio di usare questa libreria: https://github.com/PHPOffice/PhpSpreadsheet
    o almeno io uso questa da anni.
    qui un esempio dalla documentazione su come leggere file: https://phpspreadsheet.readthedocs.i...reading-files/

    il processo è più o meno questo:
    - listi i files nella cartella
    - per ogni file leggi le righe
    - per ogni riga leggi le celle ed inserisci i valori nel db

    ovviamente l'operazione può richiedere tempo visto che sono 300 files.
    forse ti conviene dividerli in gruppi.

  3. #3
    ho risolto cosi:
    codice:
    include 'excel_reader.php'; 
    $Pexcel = new PhpExcelReader;
    $Pexcel->read('test.xls');
    
    
    
    
    function sheetData($Pcalc) {
    $Px = 1;
    $Py = 4;
    $Pcell = isset($Pcalc['cells'][$Px][$Py]) ? $Pcalc['cells'][$Px][$Py] : '';
      return $Pcell; 
    }
    $nr_P = count($Pexcel->sheets);
    
    
    for($i=0; $i<$nr_P; $i++) {
      $P = sheetData($Pexcel->sheets[$i]);  
    }
    echo 'P= ';
    echo $P;
    dove px è la colonna e px è la riga e così come la battaglia navale recupero il valore di quella cella
    ora però dovrei prenderne anche altri nello stesso foglio ma se replico la funzione mi va in errore la pagina es così:

    codice:
    <?php
    include 'excel_reader.php'; 
    $Pexcel = new PhpExcelReader;
    $Pexcel->read('test.xls');
    
    
    
    
    function sheetData($Pcalc) {
    $Px = 1;
    $Py = 4;
    $Pcell = isset($Pcalc['cells'][$Px][$Py]) ? $Pcalc['cells'][$Px][$Py] : '';
      return $Pcell; 
    }
    $nr_P = count($Pexcel->sheets);
    
    
    for($i=0; $i<$nr_P; $i++) {
      $P = sheetData($Pexcel->sheets[$i]);  
    }
    echo 'P= ';
    echo $P;
    
    
    $Lexcel->read('test.xls');
    function sheetData($Lcalc) {
    $Lx = 1;
    $Ly = 4;
    $Lcell = isset($Lcalc['cells'][$Lx][$Ly]) ? $Lcalc['cells'][$Lx][$Ly] : '';
      return $Lcell; 
    }
    $nr_L = count($Lexcel->sheets);
    
    
    for($i=0; $i<$nr_L; $i++) {
      $L = sheetData($Lexcel->sheets[$i]);  
    }
    echo 'L= ';
    echo $L;
    
    
    ?>
    cosa sbaglio?? grazie mille
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

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 © 2019 vBulletin Solutions, Inc. All rights reserved.