Exceldatei einlesen/auswerten und in neues Array schreiben

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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.

    Comment

    Working...
    X