Problem beim Export von mySQL zu CSV! Excel öffnet die CSV mit leeren Zeilen!

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

  • Problem beim Export von mySQL zu CSV! Excel öffnet die CSV mit leeren Zeilen!

    Hallo!
    Ich erstelle aus einer beliebigen Tabelle über folgendes Script eine CSV Datei:
    PHP-Code:
    <?
    $file_name = "$tabelle.csv";

    $q = mysql_query ("SELECT * FROM `$db`.`$tabelle`"); 
    if ($q) 

    if ($f = fopen ("$file_name", 'w')) 

    while ($r = mysql_fetch_row ($q)) 

    for ($i=0; $i<count($r); $i++) 
    $r[$i] = '"'.str_replace ('"','\"', $r[$i]).'"'; 
    fputs ($f, implode(';',$r)."\r\n"); 

    fclose ($f); 
    } else 
    echo "Datei konnte nicht geöffnet werden"; 
    } else 
    echo "MySQL-Fehler: ".mysql_error(); 
    ?>
    Im Texteditor sieht die CSV auch ganz normal aus
    z.B.: "wert1";"wert2";"";"wert2";""

    Nur wenn ich diese Datei jetzt in Excel öffne (egal ob über Datei oder anders), so ist jede zweite Zeile eine Leerzeile.
    Obwohl die Inhalte alle da sind, möchte ich natürlich von vornherein die Leerzeilen nicht haben.
    Es gibt in der mySQL Tabelle ügrigens keine Anführungszeichen oder Semikolons, die das ganze stören könnten!

    Wer weiß rat?

    Jogi

  • #2
    da sind wahrscheinlich irgendwo \0 drin

    warum gehen eigentlich alle über eine csv Datei, und
    erstellen nicht direkt eine Excel Datei ?
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

    Kommentar


    • #3
      Original geschrieben von TBT
      warum gehen eigentlich alle über eine csv Datei, und
      erstellen nicht direkt eine Excel Datei ?
      weil das format nicht 1:1 wäre?
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        Hast du den export mal mit PHPMyAdmin versucht?

        Offe

        Kommentar


        • #5
          Original geschrieben von Abraxax
          weil das format nicht 1:1 wäre?
          na klar kann mit mit PHP direkt Excel Dateien erzeugen,
          sogar verschiedene Tabellen in einer Arbeitsmappe ...

          PS: schau einfach mal im PEAR nach

          mein kleines Script, um 2-dim Array Daten direkt in
          eine Excel Datei zu exportieren (zB aus einer DB Abfrage)

          PHP-Code:
          include_once(dirname(__FILE__)."/PEAR/Spreadsheet/Excel/Writer.php");
          $xls = &new Spreadsheet_Excel_Writer();
          $xls->send("export.xls");
          $sheet = &$xls->addWorksheet('Export');

          for(
          $i 0;$i $rows;++$i){
              
          $r 0;
              if(
          $i == 0){
                  
          // erste Zeile = Überschriften
                  
          foreach($data[$i] as $key => $value){
                      
          // numerische Key ignorieren, da noch ein gleicher 
                      // nicht numerischer existiert
                      
          if(is_numeric($key))continue;
                      
          $sheet->write(0$r$key);
                      
          $sheet->write(1$r$value);
                      ++
          $r;
                  }
              }else{
                  foreach(
          $data[$i] as $key => $value){
                      if(
          is_numeric($key))continue;
                      
          $sheet->write($i $r$value);
                      ++
          $r;
                  }
              }
          }
          $xls->close(); 
          TBT

          Die zwei wichtigsten Regeln für eine berufliche Karriere:
          1. Verrate niemals alles was du weißt!


          PHP 2 AllPatrizier II Browsergame

          Kommentar


          • #6
            ok. du hast mich überzeugt...
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              ok, direkt Excel ist mir auch recht, werde das mal probieren...

              Aber trotzdem verstehe ich das Problem beim CSV Export noch nicht, denn über phpMyAdmin läufts wunderbar und slashes oder backslashes sind auch nicht enthalten oder @TBT was meinst Du sonst mit
              da sind wahrscheinlich irgendwo \0 drin
              ??

              Jogi

              Kommentar


              • #8
                fehlerhafte zeilenumbrüche am ende der zeile.
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  und hast Du eine Idee wodurch die Zustande kommen?

                  Kommentar


                  • #10
                    evtl.

                    du machst derzeit "\r\n" .... mache mal nur "\n" . (ohne garantie)
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar


                    • #11
                      jep! das wars, hätte selbst drauf kommen müssen
                      Danke Euch!!

                      Kommentar

                      Lädt...
                      X