Import Excel-Dateien mit Bild in PHP / MySQL

8

Ich möchte ein Import-Skript machen, mit dem Benutzer ihre Excel-Datei (Erweiterung nicht wichtig) in meine PHP-Anwendung hochladen können.

Die Anwendung sollte eine Liste von Elementen (so weit so gut) neu erstellen.

Die Schwierigkeit besteht in diesem Fall darin, dass die Excel-Dateien Bilder enthalten ...

Ich habe Informationen über phpexcel Bibliothek gelesen, aber es sagt nichts über Bilder.

Irgendwelche Ideen?

    
Marcel 15.06.2010, 14:44
quelle

3 Antworten

14

Sie können auf Bilder über die PHPExcel-Bibliothek zugreifen.

Zum Importieren von Bildern:

%Vor%

Dann enthält $ imageContents die Bilddaten, die Sie als Datei ausgeben oder speichern können. Sie können diese Frage sehen: PHPExcel: Wie füge ich ein Bild in die Kopfzeile der ersten Seite ein und vergrößere es, um es an den Inhalt anzupassen?

Für den Zugriff auf Bilder:

ArrayObject aller Bildobjekte in dem aktiven Arbeitsblatt wird zurückgegeben durch:

%Vor%

Diese Objekte sind entweder PHPExcel_Worksheet_Drawing oder PHPExcel_Worksheet_MemoryDrawing Objekte: Sie können anhand von herausfinden, welche Objekte Sie verwenden is_a () . Sie können dann die für diese Klasse geeigneten Methoden verwenden (wie in der API beschrieben), um entweder die Bilddaten aus der Datei (für PHPExcel_Worksheet_Drawing-Objekte) oder direkt vom PHPExcel_Worksheet_MemoryDrawing-Objekt selbst zu lesen. Die Methoden getName() und getDescription() können verwendet werden, um die relevanten Werte für das Bildobjekt abzurufen.

Jetzt ist es auch möglich, Bildobjekte mit Druckköpfen zu verknüpfen:

%Vor% Mit

können Bilder aus der Kopf- / Fußzeile abgerufen werden. Dies ist ein Array von PHPExcel_Worksheet_HeaderFooterDrawing-Objekten. Alle PHPExcel_Worksheet_Drawing-Methoden können verwendet werden, um die Bilddatei von diesen Objekten zu extrahieren.

    
Somnath Muluk 21.03.2012 06:49
quelle
1

Das Importieren von Daten aus Excel (oder einem anderen Programm, das eine Textdatei erzeugen kann) ist sehr einfach, indem Sie den Befehl LOAD DATA von der MySQL-Eingabeaufforderung verwenden.

1) Speichern Sie Ihre Excel-Daten als CSV-Datei (In Excel 2007 mit Speichern unter) Überprüfen Sie die gespeicherte Datei mit einem Texteditor wie Notepad, um zu sehen, wie sie tatsächlich aussieht, d. H. Welches Trennzeichen verwendet wurde usw.

2) LOAD DATEN LOKALES INFIL 'C: \ temp \ yourfile.csv' INTO TABELLE database.table FIELDS TERMINATED VON ';' ENCLOSED VON '' 'LINES TERMINIERT VON' \ r \ n '(field1, field2);

3) Um ein Bild zu speichern, das verwendet werden soll TO_BASE64

Fertig!

Referenz

    
Angelin Nadar 28.03.2012 05:43
quelle
1

PHPExcel unterstützt Bilder, obwohl es Diagramme noch nicht unterstützt

BEARBEITEN

Unterstützung für Diagrammleser für Excel 2007+ .xlsx-Dateien in Version 1.7.7 von PHPExcel

hinzugefügt     
Mark Baker 15.06.2010 14:57
quelle