Lesen der Tabelle mit PHPExcel

8

Ich versuche, eine Tabelle hochzuladen und sie mit PHPExcel in eine MySQL-Datenbank einzulesen.

Für .xlsx-Dateien funktioniert es gut, aber wenn ich versuche, eine .ods-Datei hochzuladen, wird folgender Fehler ausgegeben: PHP Schwerwiegender Fehler: Aufruf einer Memberfunktion getNamespaces () für ein Nicht-Objekt in PHPExcel_1.7.9 / Classes / PHPExcel /Reader/OOCalc.php in Zeile 341

Was läuft falsch?

HTML-Formular:

%Vor%

PHP (in derselben Datei):     

%Vor%     
db579 02.02.2014, 06:48
quelle

2 Antworten

13

Wenn eine Datei auf Ihren Webserver hochgeladen wird, wird die Datei mit einem zufälligen Namen im temporären Ordner Ihres Systems gespeichert.

Sie haben versucht, die tatsächliche name der hochgeladenen Datei anzugeben, aber da die Datei mit einem zufälligen Namen im Ordner tmp erstellt wurde. Sie müssen stattdessen tmp_name verwenden, die tatsächlich die zufällige benannte Datei zeigen.

Beachten Sie auch, in name Sie haben nur den Namen der Datei, die hochgeladen wurde und nicht den Pfad, Aber mit tmp_name haben Sie den tatsächlichen Pfad zur Datei.

Sehen Sie das folgende Beispiel eines Datei-Uploads, den Sie erhalten würden.

%Vor%

Ändern Sie stattdessen Ihren Code zu

%Vor%     
Nicolas Racine 02.02.2014, 06:59
quelle
0

In meinem Fall gab es einen Fehler beim Erkennen der Erweiterung in dieser Zeile

%Vor%

Wenn Sie lösen müssen, überprüfen Sie einfach den Namensparameter

%Vor%

Der Rest funktioniert dank:)

    
Fábio Rodrigues 28.11.2017 12:25
quelle

Tags und Links