Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] xls per php lesen

Einklappen

Neue Werbung 2019

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

  • [Erledigt] xls per php lesen

    Ich suche eine Funktion oder eine Klasse, mit der ich ein xls-File per PHP einlesen und Zeile für Zeile parsen kann.

    Beispiel:

    Überschriftzeile
    id | text | wert

    Datenzeilen:
    101 | abc | 12345
    102 | def | 23579
    103 | ghi | 34567
    usw. ca. 10.000 Zeilen

    Als ergebnis brauche ich dann zB nach Lesen der ersten Datenzeile:
    PHP-Code:
    $row = array();
    $row[0] = '101';
    $row[1] = 'abc';
    $row[2] = '12345'
    und nach einem weiteren Schleifendurchlauf die Daten der zweiten Zeile wieder in $row

    Hat jemand so was im Schrank liegen und kann es mir zur Verfügung stellen?

    Alternativ würde auch ein Script helfen, welches eine xls-datei in eine csv-Datei konvertiert - die csv kann ich dann ja einfach weiterverarbeiten.

    Da ich mehrere Ordner mit zusammen rund 7000 xls-Dateien so verarbeiten müsste, scheidet ein manuelles konvertieren xls->csv aus.
    [PHP]if ($var != 0) {
    $var = 0;
    }[/PHP]

  • #2
    MS-Excel Stream Handler (xls, spreadsheet, excel reader, ms-excel stream handler) - PHP Classes
    [COLOR="#F5F5FF"]--[/COLOR]
    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
    [COLOR="#F5F5FF"]
    --[/COLOR]

    Kommentar


    • #3
      Merci Fielmann - auf phpclasses.org bin ich angemeldet und hab dort auch gesucht, aber offensichtlich nicht richtig
      Das müsste klappen.
      [PHP]if ($var != 0) {
      $var = 0;
      }[/PHP]

      Kommentar


      • #4
        Ich benutze dafuer php-excel-reader - Project Hosting on Google Code

        Kommentar


        • #5

          Das Dingens ist sehr einfach zu bedienen und insofern sehr empfehlenswert. Für den nächsten :

          PHP-Code:
          require_once 'excel_reader2.php';

          $datei 'spreadsheet.xls';
          $data = new Spreadsheet_Excel_Reader($datei,false);

          $anzahlzeilen  $data->rowcount($sheet_index=0); 
          $anzahlspalten $data->colcount($sheet_index=0);

          for ( 
          $zeile $zeile <= $anzahlzeilen $zeile++ ) {
              
          $row = array();
              for ( 
          $spalte $spalte <= $anzahlspalten $spalte++ ) {
                  
          $row[] = $data->val($zeile,$spalte);
              }
              
          $ausgabe implode (' | ' $row );
               echo 
          $ausgabe '<br>';

          Vielen Dank - ich setze das mal auf erledigt
          [PHP]if ($var != 0) {
          $var = 0;
          }[/PHP]

          Kommentar


          • #6
            Danke für den Code,

            habe die BIC auslesen müssen und habe das Skript folgender Maßen angepasst, falls es mal jemand braucht.

            PHP-Code:
            /**
             * Alle BIC in Array schreiben, aber nur die, wo in der Spalte BIC auch etwas steht
             */
            $anzahlzeilen  $data->rowcount($sheet_index=0);
            $anzahlspalten $data->colcount($sheet_index=0);
            $rows = array();
            for ( 
            $zeile $zeile <= $anzahlzeilen $zeile++ )
            {
                if(!
            $data->val($zeile3) == "")
                {
                    
            $rows[$data->val($zeile1)] = array(
                        
            'blz' => $data->val($zeile1),
                        
            'bankname' => $data->val($zeile2),
                        
            'bic' => $data->val($zeile3)
                    );
                }

            Kommentar

            Lädt...
            X