Je souhaite importer des données à partir de fichier Excel à l'aide de PHP, puis si possible, enregistrez-la dans une base de données MySQL. P>
5 Réponses :
Le meilleur pari est d'exporter d'Excel vers un fichier CSV (valeurs séparées par des virgules). Ces fichiers sont faciles à analyser et à charger. Si vous lisez directement à partir d'un fichier XLS, je ne sais pas comment faire cela. Vous voudrez peut-être regarder et voir s'il existe un libarary pour PHP capable de lire des fichiers de données Excel. P>
Importer à partir de fichiers Excel (XLS) est beaucoup plus difficile que d'imprégner des fichiers CSV. Habituellement, je sauvegarde mes XLS à CSV avec Excel puis travaillez sur ce CSV avec PHP ...
Regardez la fonction PHP Fgecsv à l'adresse suivante:
http://ca.php.net/manual/fr/function.fgecsv.php p> Si vous souhaitez toujours charger des XLS directement à partir de PHP, il est possible (mais quelle est fiable) ... une seconde rapide a abouti à http://sourceforge.net/projects/phpexcelreader/ qui pourrait être utile. p> p>
D'autre part, pour Excel 2007, phpexcel.codeplex.com est vraiment sympa.
tout à fait possible. Vous pouvez enregistrer votre fichier Excel sous forme de fichier CSV et utiliser fgecsv () a > lire ce fichier à PHP. Si tout ce que vous faites, c'est la mettre dans une base de données, vous pourrait être capable de contourner la nécessité d'un script PHP entièrement et d'utiliser une syntaxe code> de données code> MySQL sur votre fichier CSV à la place: P> fgecsv () code> analysera vos données dans un tableau, que vous pouvez ensuite créer des requêtes SQL sur de mettre dans votre base de données.
LOAD DATA LOCAL INFILE '/importfile.csv'
INTO TABLE test_table
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(field1, filed2, field3);
ici Tutoriel sur la lecture / écriture d'une feuille de calcul Excel directement (sans avoir à exporter à CSV). Les packages nécessaires sont disponibles auprès de Sourceforge et de Poire (cf. Article). P>
<? i$db = mysql_connect(âlocalhostâ, ârootâ, ââ) or die(âCould not connect.â); if(!$db) die(âno dbâ); if(!mysql_select_db(âtestâ,$db)) die(âNo database selected.â); if(isset($_POST['submit'])) { $filename=$_POST['filename']; $handle = fopen(â$filenameâ, ârâ); while (($data = fgetcsv($handle, 1000, â,â)) !== FALSE) { $import=âINSERT into sample(name,email) values(â$data[0]â,â$data[1]â)â; mysql_query($import) or die(mysql_error()); } fclose($handle); print âImport doneâ; } else { print â<form action=âimport.phpâ method=âpostâ>â; print âType file name to import:<br>â; print â<input type=âtextâ name=âfilenameâ size=â20â²><br>â; print â<input type=âsubmitâ name=âsubmitâ value=âsubmitâ></form>â; } ?> Source