CSV
Si vous pouvez d'abord convertir le fichier Excel en CSV, vous pouvez utiliser mysqlimport
pour importer CSV. C'est probablement la méthode la plus rapide pour transférer les données dans MySQL.
Vous pouvez le faire à partir de PHP en utilisant LOAD DATA INFILE
. Ceci est un exemple d'instruction SQL pour importer data.csv
:
LOAD DATA INFILE 'data.csv' INTO TABLE phonenumber_list
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;
Excel
Si vous ne pouvez pas utiliser CSV et devez travailler avec des fichiers Excel bruts, vous aurez besoin d'une bibliothèque PHP capable de lire les fichiers Excel.
Il y en a quelques-uns disponibles, mais je ne sais pas à quel point ils sont fiables ou bien entretenus :
Poire :Spreadsheet_Excel_Writer
Vous voudrez peut-être également examiner l'approche alternative consistant à utiliser l'API Excel, mais vous aurez besoin d'Excel installé pour le faire. Il y a une petite information à ce sujet ici :
http://www.sydphp.org/presentations/010606-excel.html
Si vous utilisez cette approche, vous devrez écrire du code qui lit et analyse le fichier Excel, et l'envoie à MySQL ligne par ligne. Cela peut fonctionner beaucoup plus lentement qu'une importation CSV en masse.