Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Excel Reader e Data

  1. #1

    Excel Reader e Data

    Ciao a tutti
    Sto utilizzando la classe Excel Reader per popolare un db mysql tramite il caricamento automatizzato ( e schedulato ) di un file excel.
    Tutto funziona bene, ma c'è un'anomalia strana per quanto riguarda un campo che contiene una data. Non è che non la legga o non la scriva: è che la scrive portandola avanti di un giorno, cioè se il dato in excel è 01/02/2009, lui in database (e anche a video) restituisce 02/02/2009.
    Vi lascio il codice:

    Codice PHP:
    <?php

    require_once 'Excel/reader.php';
    require_once 
    'conn.inc.php';
    require_once 
    'connect.php';
    $data = new Spreadsheet_Excel_Reader();
    $data->setOutputEncoding('CP1251'); // Set output Encoding.
    $data->read('file_excel.xls');
    error_reporting(E_ALL E_NOTICE);

    function 
    convertiData($datainiz){
    $dataFinale explode ('/',$datainiz);
    $dataFinale array_reverse($dataFinale);
    //echo $datainiz; <---- anche questi echo restituiscono la data avanti di 1 giorno!
    //echo $dataFinale[2]; <---- anche questi echo restituiscono la data avanti di 1 giorno!
    return implode($dataFinale,'-');
    }

    echo 
    "<table border='1'>";
    for (
    $i 3$i <= $data->sheets[0]['numRows']; $i++) {
            echo 
    "<tr>";
        for (
    $j 1$j <= $data->sheets[0]['numCols']; $j++) {
            echo 
    "<td>".$data->sheets[0]['cells'][$i][$j]."</td>";
            
    $campo_1 $data->sheets[0]['cells'][$i][2];
            
    $campo_2 $data->sheets[0]['cells'][$i][3];
            
    $campo_3 $data->sheets[0]['cells'][$i][4];
            
    $campo_4 $data->sheets[0]['cells'][$i][5];
            
    $data_4 convertiData($campo_4);
            
    $campo_5 $data->sheets[0]['cells'][$i][6];
        }
                
    $insert "INSERT INTO tabella (Lavorazioni,SS,TDOC,DATA,DOCUMENTI) VALUES ('$campo_1','$campo_2','$campo_3','$data_4','$campo_5')";
                
    $ris dbquery($insert);
                
        echo 
    "</tr>";

    }
    echo 
    "</table>";

    ?>
    Idee? Grazie mille!

  2. #2
    Nessuno?

  3. #3
    Ciao,
    scusa ma non ti scrivo per proporti una soluzione, anzi avendo lo stesso problema volevo chiederti se avessi risolto, perchè onestamente non avrei voglia di implementare un controllo su ogni data.
    Ti ringrazio
    Ciao
    Matteo

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.