Ankündigung

Einklappen
Keine Ankündigung bisher.

extern auf phpmyadmin-Excel-Export zugreifen

Einklappen

Neue Werbung 2019

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

  • extern auf phpmyadmin-Excel-Export zugreifen

    hallo!
    ich suche schon seit tagen hier im forum und bei google, aber werde leider nicht fündig.

    es gibt ja diverse methoden mit hilfe eines php-scriptes eine mySQL-Tabelle in eine exceldatei zu exportieren und diese auf der lokalen festplatte zu speichern.

    phpmyadmin bietet ja die möglichkeit eine tabelle als csv-datei (MS Excel 2000-Export + Feldnamen in der ersten Zeile) abzuspeichern. diese tabellen sind so angeordnet, dass jede mysql-spalte auch eine SQL-spalte bekommt.

    leider habe ich bisher nur scripte gefunden, wo der mysql-export in einer spalte mit kommatas getrennt dargestellt wird.

    gibt es aber eine möglichkeit, vllt. schon vollständiges script, welches die dateien wie bei phpmyadmin in seperaten spalten abspeichert oder kann ich irgendwie per link auf die downloadfunktion von phpmyadmin zugreifen?

  • #2
    Re: extern auf phpmyadmin-Excel-Export zugreifen

    Zitat von skydreamboy
    leider habe ich bisher nur scripte gefunden, wo der mysql-export in einer spalte mit kommatas getrennt dargestellt wird.
    Das nennt sich csv....

    Wenn Excel das nicht richtig interpretiert kriegt und das dann alles in eine Zelle packt, liegt eher ein Problem mit Excel vor. Bei mir zumindest klappt es wunderbar.

    Hast du einmal ein Beispiel eines Exports?

    Kommentar


    • #3
      ja... aber die scripte, die ich habe, sind .XLS-excel-dateien, die die daten wirklich nur durch kommas trennen und nicht wie in phpmyadmin alles in eine seperate spalte schreiben.

      deshalb such ich ein script, mit welchem ich die sql-tabelle, wie bei phpmyadmin, in eine xls-datei exportieren kann, so dass alle daten in eine extra spalte kommen.

      Zitat von mepeisen
      Bei mir zumindest klappt es wunderbar.
      hast du ein php-script, was das für dich erzeugt?
      wenn ja, könntest du mir das vllt zur verfügung stellen?

      Kommentar


      • #4
        Probier doch dieses Package mal:
        http://pear.php.net/package/Spreadsheet_Excel_Writer

        Ich hatte das Problem jedoch auch mal. Ich hatte es so gelöst, dass ich die Datei nicht *.xls sondern *.dat genannt habe und nicht per Doppelklick in Excel geladen habe, sondern Excel starten => Menü => Öffnen.
        Danach konnte ich manuel die Spaltenaufteilung festlegen (welches das Spaltentrennzeichen ist, wie Daten (Datums) behandelt werden etc.).

        Kommentar


        • #5
          mein script sieht so aus:

          PHP-Code:
          <?php
          $DatabaseHost 
          "HOSTNAME"
          $DatabaseUser "USERNAME";
          $DatabasePassword "PW";
          $Database "DATENBANK";
          $Table "mitglieder";

          header('Content-Type: text/x-csv');
          header('Expires: ' gmdate('D, d M Y H:i:s') . ' GMT');
          header('Content-Disposition: attachment; filename=download.csv');
          header('Pragma: no-cache');

          $DatabasePointer mysql_connect($DatabaseHost$DatabaseUser$DatabasePassword);
          mysql_select_db($Database$DatabasePointer);

          $ResultPointer mysql_query("SELECT id, anrede, vorname, nachname, strasse, plz, wohnort, festnetz, handy, email, geburtstag, geschlecht, eintritt, aktiv, gast, befreit FROM $Table");

          for(
          $i=0$Export=""$i<mysql_num_rows($ResultPointer); $i++)
          {
              
          $Daten mysql_fetch_object($ResultPointer);

              
          $Spalte[] = str_replace("\"""\"\""$Daten->id);
              
          $Spalte[] = str_replace("\"""\"\""$Daten->anrede);
              
          $Spalte[] = str_replace("\"""\"\""$Daten->vorname);
              
          $Spalte[] = str_replace("\"""\"\""$Daten->nachname);
              
          $Spalte[] = str_replace("\"""\"\""$Daten->strasse);
              
          $Spalte[] = str_replace("\"""\"\""$Daten->plz);
              
          $Spalte[] = str_replace("\"""\"\""$Daten->wohnort);
              
          $Spalte[] = str_replace("\"""\"\""$Daten->festnetz);
              
          $Spalte[] = str_replace("\"""\"\""$Daten->handy);
              
          $Spalte[] = str_replace("\"""\"\""$Daten->email);
              
          $Spalte[] = str_replace("\"""\"\""$Daten->geburtstag);
              
          $Spalte[] = str_replace("\"""\"\""$Daten->geschlecht);
              
          $Spalte[] = str_replace("\"""\"\""$Daten->eintritt);
              
          $Spalte[] = str_replace("\"""\"\""$Daten->aktiv);
              
          $Spalte[] = str_replace("\"""\"\""$Daten->gast);
              
          $Spalte[] = str_replace("\"""\"\""$Daten->befreit);
              
              for(
          $j=0$j<count($Spalte); $j++)
              {
                  
          $Export .= "\"" $Spalte[$j] . "\"";
                  if(
          $j!=count($Spalte)-1)
                  {
                      
          $Export .= ";";
                  }
              }
              
          $Export .= "\r\n";
              
          $Spalte "";
          }

          echo
          $Export;
          ?>
          und bei diesem csv-export kommt folgendes raus, was ja stimmt, aber leider ist steht alles in einer zelle:
          Code:
          29;"Herr";"VORNAME";"NACHNAME";"STRASSE";"PLZ";"ORT";"01234/12345";"0123/1234567";"a@b.c";"01.01.1111";"maennlich";"01.01.1111";"ja";"ja";"ja"
          //edit: ich hab keine ahnung, warum der php-code nicht mehr richtig angezeigt werden kann.

          Kommentar


          • #6
            hat niemand eine ahnung, wieso das mit dem script nicht funktioniert?

            und hat jemand eine andere lösung für eine excel-csv-datei, da ich nicht gerne das pear-"paket" benutzen möchte, da mir nicht der server gehört und ich nur die php-daten drauf abgelegt habe.

            Kommentar

            Lädt...
            X