Katsche: MySQL in Excel exportieren

Hallo zusammen,

ich habe folgenden COde mit dem ich eine  mySQL Tabelle in Excel ausgebe:

<body>
<?

<connection zur Datenbank>

$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die("Verbindungsversuch fehlgeschlagen");

mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht waehlen.");

$select = "SELECT * FROM touren";
$export = mysql_query($select); $fields = mysql_num_fields($export);for ($i = 0; $i < $fields; $i++)
{     $header .= mysql_field_name($export, $i) . "\t"; } while($row = mysql_fetch_row($export))
{     $line = '';     foreach($row as $value) {
   if ((!isset($value)) OR ($value == "")) {
       $value = "\t";
     } else {
     $value = str_replace('"', '""', $value);
          $value = '"' . $value . '"' . "\t";
      }
        $line .= $value;
        }
       $data .= trim($line)."\n"; }
       $data = str_replace("\r","",$data); if ($data == "")
       {
        $data = "\n(0) Records Found!\n";
                     } header("Content-type: application/octet-stream");
         header("Content-Disposition: attachment; filename=extraction.xls");
          header("Pragma: no-cache"); header("Expires: 0"); print "$header\n$data";
?>
</body>

Das funktioniert auch klasse, aber er schreibt mir alles immer in das Feld A1. Wie kann ich ihm klarmachen, dass er in das Nächste Feld springt?

Vielen Dank und Gruß

  1. Tag Katsche.

    ich habe folgenden COde mit dem ich eine  mySQL Tabelle in Excel ausgebe:

    Nein, dein Code exportiert den Datenbankinhalt in eine Textdatei, wobei in jeder Zeile die einzelnen Werte durch Tabulatoren getrennt sind.

    Das funktioniert auch klasse, aber er schreibt mir alles immer in das Feld A1. Wie kann ich ihm klarmachen, dass er in das Nächste Feld springt?

    Verwende ein geeigneteres Format (repräsentiert durch die Dateiendung), CSV bietet sich an. Dabei müsstest du allerdings den Separator anpassen, ein Tabulator jedenfalls geht dann nicht mehr. Ansonsten wähle ein Format, das Excel von Haus aus nur als Importformat annimmt, z.B. TXT. Letzteres erfordert allerdings, dass der Benutzer weiß, wie er tabellarische Daten aus einer Textdatei in Excel importiert, Stichwort Importdialog. Ob Excel allerdings immer und versionsübergreifend gewillt ist, nur auf Grund einer Dateiendung in den Importmodus zu schalten, wage ich zu bezweifeln.

    Siechfred