phpbar.de logo

Mailinglisten-Archive

[php] exel + php

[php] exel + php

Guido Haeger GH-lists_(at)_ecora.de
Wed, 30 Aug 2000 10:56:11 +0200


Bossler, Ralph schrieb

> an diesem Problem bin ich auch gerade dran, vielleicht kann ich
> die später eine ausführliche Lösung geben.
> Ich gehe an das Problem folgendermaßen ran:
> - Excel-Tabelle als csv-Datei abspeichern
> - in php Datei zeilenweise auslesen
> - jede Zeile in Felder trennen ($row_elements = explode(";",
> $str_row);)
> - per INSERT in DB schreiben.

Das macht wenig Sinn. Wenn Du z.B. Eine excel-Tabelle mit nur 5000
Zeilen hast, dann mußt Du die DM mit 5000 Insert-Queries quälen. Um
CSV-Dateien in MySQL einzulesen gibt es

LOAD DATA LOCAL INFILE 'Deine_CSV.Datei' INTO TABLE tbl_name FIELD
TERMINATED BY ';' LINES TERMINATED BY '\r\n'

PhpMyAdmin bringt auch eine Oberfläche für dieses SQL-Statement mit.
Details erfährst Du in Kapitel 7.16 des MySQL-Manuals.

LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 'file_name.txt' [REPLACE |
IGNORE]
    INTO TABLE tbl_name
    [FIELDS
        [TERMINATED BY '\t']
        [OPTIONALLY] ENCLOSED BY '']
        [ESCAPED BY '\\' ]]
    [LINES TERMINATED BY '\n']
    [IGNORE number LINES]
    [(col_name,...)]

The LOAD DATA INFILE statement reads rows from a text file into a table
at a very high speed. If the LOCAL keyword is specified, the file is
read from the client host. If LOCAL is not specified, the file must be
located on the server. (LOCAL is available in MySQL 3.22.6 or later.)
[...]

Guido Haeger




php::bar PHP Wiki   -   Listenarchive