PHP: Excel Dateien lesen
von tobee
am 09.05.10 um 12:17 (3281 Hits)
Heute möchte ich euch anhand eines praktischen Beispiels zeigen, wie man mit Hilfe von dem PHPExcelReader Excel Dateien einlesen kann. Die von Vadim Tkachenko erstellte Klasse kann man sich auf Sourceforge kostenlos herunterladen.
Das folgende Beispiel zeigt wie man mit wenigen Zeilen eine Excel Datei lesen und anzeigen lassen kann:
Code :
1 2 3 4 5 6 7 8 9 10<?php require_once 'reader.php'; $objExcel = new Spreadsheet_Excel_Reader(); $objExcel->read('input.xls'); for ($i = 1; $i <= $objExcel->sheets[0]['numRows']; $i++) { var_dump($objExcel->sheets[0]['cells'][$i]); } ?>
Der var_dump Befehl gibt genau eine Zeile des Excel Dokuments aus. Zu beachten ist, dass der Array-Index nicht bei 0 sondern bei 1 beginnt.
In meinem Fall wollte ich Daten aus einer Excel Datei in eine Datenbank schreiben:
Code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23<?php error_reporting(E_ALL ^ E_NOTICE); mysql_connect('localhost', 'root', ''); mysql_select_db('excel'); require_once 'reader.php'; $objExcel = new Spreadsheet_Excel_Reader(); $objExcel->setOutputEncoding('CP1251'); $objExcel->read('input.xls'); for ($i = 2; $i <= $objExcel->sheets[0]['numRows']; $i++) { $strQuery = "INSERT INTO `data` SET `exportingCountry` = '" . $objExcel->sheets[0]['cells'][$i][2] . "', `exportingCountryCode` = '" . $objExcel->sheets[0]['cells'][$i][1] . "', `importingCountry` = '" . $objExcel->sheets[0]['cells'][$i][4] . "', `importingCountryCode` = '" . $objExcel->sheets[0]['cells'][$i][3] . "', `year` = '" . $objExcel->sheets[0]['cells'][$i][5] . "', `quantity` = '" . $objExcel->sheets[0]['cells'][$i][6] . "'"; echo mysql_query($strQuery) ? 'Query erfolgreich<br />' : 'Query nicht erfolgreich<br />'; } ?>
Falls ihr Probleme mit der Einbindung oder dem Einlesen der Excel Dateien habt, hinterlasst ruhig einen Kommentar. Gerne lese ich auch Kommentare über Alternativen oder/und euren Erfahrungen.
Quelle






