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

    PHPExcel: lettura errate date

    Salve, sto usando la libreria di PHPExcel per leggere dei dati da un foglio di excel.

    Fino a qui tutto ok, ma ieri ho notato una cosa a cui non avevo fatto caso precedentemente:

    quando vado a leggere le date nel formato gg/mm/aaaa in output mi da un numero di cui non riesco a capire il senso nè la provenienza.

    Qualcun'altro ha riscontrato questo problema?
    Avete per caso qualche soluziona da propormi?

    Grazie

  2. #2
    la data letta da foglio excel (es. 09/03/2012) se lo visualizzo sul browser mi da in output 40977.

    Perchè?

    Grazie

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    142
    Ambiente windows

    $php_timestamp = mktime(0,0,0,1,$excel_timestamp,1970)


    Ambiente unix

    $php_timestamp = mktime(0,0,0,1,$excel_timestamp,1900);


    è dovuto al fatto che excell ha un sistema di date basato su ?? ..
    non so come abbiano fatto a decidere come gestire le date .. asd

  4. #4
    quindi se io ho una cosa del genere:
    __________________________________________________ __________________________
    echo '<table border="1">' . "\n";
    for ($row = 1; $row <= $highestRow; ++$row) {
    echo '<tr>' . "\n";

    for ($col = 0; $col <= $hCi; ++$col) {

    if ($col == 0 || $col == 1 || $col == 2 || $col == 3 || $col == 5 ||
    $col == 7 || $col == 9 || $col == 19 || $col == 25) {

    echo '<td>' . $objWorksheet->getCellByColumnAndRow($col, $row)->getValue() . '</td>' . "\n";

    }
    }

    echo '</tr>' . "\n";
    }

    echo '</table>' . "\n";
    __________________________________________________ __________________________

    E nella $col == 25 ho la data da dover visualizzare correttamente come faccio?

    Scusami ma non ho una grandissima dimestichezza e sto cercando di imparare...penso di aver capito il funzionamento di quanto da te scritto ma in questo momento mi riesce difficile inserirlo nel programma in modo da ottenere la conversione

    Grazie ancora

  5. #5
    ho risolto così

    $numero=$objWorksheet->getCellByColumnAndRow($col, $row)->getValue();
    $date = PHPExcel_Style_NumberFormat::toFormattedString($nu mero, "DD/MM/YYYY");

    mi stampa il valore della data corretta...speriamo non saltino fuori altri problemi...

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