2017-04-10 1 views
0

Also, ich bin ein ziemlich neuer PHP-Programmierer und ich versuche, eine Seite einzurichten, die eine Datei hochlädt, die Informationen in einer Tabelle anzeigt und dann die Daten in eine Datenbank schreibt.Wie formatiert man Daten in PHPExcel?

Ich habe diese Dinge funktionieren (Ich fand einige hilfreiche Code online), aber meine Daten werden nicht korrekt angezeigt.

Zum Beispiel wird das Datum "2/15/2017 17:55" als "42781.746527778" angezeigt.

Hier ist der Code:

try { 
     $inputFileType = PHPExcel_IOFactory::identify($inputFileName); 
     $objReader = PHPExcel_IOFactory::createReader($inputFileType); 
     $objPHPExcel = $objReader->load($inputFileName); 

    } catch (Exception $e) { 
     die('Error loading file "' . pathinfo($inputFileName, PATHINFO_BASENAME) 
     . '": ' . $e->getMessage()); 
    } 


    echo '<center><table style="width:50%;" border=1>'; 


    $sheet = $objPHPExcel->getSheet(0);  
    $highestRow = $sheet->getHighestRow();  
    $highestColumn = $sheet->getHighestColumn();  


    for ($row = 1; $row <= $highestRow; $row++) { 



     $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, 
     NULL, TRUE, FALSE); 


     echo "<tr>"; 


     foreach($rowData[0] as $k=>$v) 
      echo "<td>".$v."</td>"; 

     echo "</tr>"; 
    } 

    echo '</table></center>'; 

} 

else{ 
    echo '<p style="color:red;">Please upload file with xlsx extension only.</p>'; 
} 

ich, warum es bekommen wird das Datum angezeigt werden, die Art und Weise, jedoch bin ich bei der Festsetzung es nicht Glück haben, wenn sie versuchen, die gesamte Spalte als Datum und Uhrzeit angezeigt werden, oder es in einer einzelnen Zelle als das richtige Datum und die richtige Uhrzeit anzeigen.

var_dump($objPHPExcel->getActiveSheet()->getCell('B2')->getFormattedValue()); 

Dieser Code zeigt das Datum und die Uhrzeit für eine meiner Probe-Tabellen, aber ich nicht in der Lage bin, diesen Wert in der Zelle zu erhalten.

Jede Hilfe wäre willkommen. Vielen Dank!

+0

P.S. Ich kenne die PHPExcel_Shared_Date :: ExcelToPHPObject() - Funktion, aber ich habe ehrlich gesagt keine Ahnung, wie man es in diesem Code verwendet. –

Antwort

1

Ich glaube, das ist, was Sie suchen? Überprüfen Sie, ob es sich bei der Zelle um ein Datum und eine Uhrzeit in Excel handelt, und extrahieren und konvertieren Sie das Excel-Datum in ein PHP-Datum.

+0

Bitte fügen Sie die Beschreibung Ihrer Lösung hinzu – user7294900

+0

Ich habe meine Lösung bearbeitet, um zu reflektieren. – designdrumm