Exceldatei einlesen/auswerten und in neues Array schreiben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Exceldatei einlesen/auswerten und in neues Array schreiben

    Hallo, ich hole mir sämtlich Daten aus einer Exceldatei, die Daten werden
    in einem großen Array $rohdatenEXC gespeichert. Jede Spalte der Exceldatei
    kann als Array angesprochen werden. Es ist mir bisher gelungen nach Mitarbeiter
    zu filtern (Spalte E) und deren Gesamtstunden (Spalte O) auszugeben.

    Nun gibt es aber auch noch eine (Spalte N) in der die Art der Leistung vermerkt ist.
    Anhand der switch_Methode will ich prüfen ob der Wert in der Spalte N auf "Urlaub"
    oder "Krank" steht --> wenn dies der Fall ist, soll er in dem Array $auswertung in den
    Index"Urlaub" oder Index"Krank" den Wert von der Spalte O schreiben und entsprechend
    aufsummieren. Bei der Ausgabe erhalte ich dann aber die Meldungen undefiniert Index "Urlaub" und "Krank"

    Mein code wäre folgender:
    PHP-Code:
    $rohdatenEXC = array(); //gesamte Inhalt der Exceldatei, alle Spalten sind in Arrays gespeichert

    foreach($sheetData as $key => $rohdatenEXC){
     
    // $rohdatenEXC['E']; //Spalte E = Nachname
     // $rohdatenEXC['N']; //Spalte N = Leistung = z.B. auch Urlaub, Krank
     // $rohdatenEXC['O']; //Spalte O = Stunden 
     
        
    if(!isset($auswertung[$rohdatenEXC['E']])) //Mitarbeiter
        
    {
            
    $auswertung[$rohdatenEXC['E']] = $rohdatenEXC
            switch(
    $rohdatenEXC['N']){
              case (
    "Urlaub"):
                
    $auswertung['Urlaub'] += $rohdatenEXC['O'];
                break;
             case (
    "Krank"):
                
    $auswertung['Krank'] += $rohdatenEXC['O'];
                break;
            }
        }
        else
        {
            
    $auswertung[$rohdatenEXC['E']]['O'] += $rohdatenEXC['O'];
        }
    }

    //Tabelle ausgeben: 
     
    foreach($auswertung as $key => $value){
      echo 
    "<tr>"// Ausgabe nächste Zeile in Tabelle 
        
    echo "<td>" $value ['E'] . "</td>"//Mitarbeiter
        
    echo "<td>" $value ['Urlaub'] / 60 "</td>"//Urlaub
        
    echo "<td>" $value ['Krank'] / 60 "</td>"//Krank
        
    echo "<td>" $value ['O'] / 60 "</td>"//Gesamtstunden
        
    echo "</tr>";
     } 

  • #2
    Du musst die Array-Elemente einfach mit einem Startwert initialisieren … (Da du aufaddieren willst, bietet sich natürlich der Wert 0 an.)
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar

    Lädt...
    X