Se connecter avec
S'enregistrer | Connectez-vous

Insertion fichier xls dans base SQL

Dernière réponse : dans Programmation

bonjour.
Je viens chercher, grace à une <input file > nommé "xls" un fichier xls (excel) qui se compose de 2 colonnes.
Je veux transférer celui-ci dans une table nommé referencecompo.

voici mon script :
if($xls && $xls != "none")
{ $nom_fichier="$xls"; // nom du fichier a convertir
$separateur="|"; // sigle de séparateur

$requete=mysql_query("SELECT * FROM referencecompo")

if (file_exists($xls))
{
$fp = fopen($xls, "r");
}
else
echo "Fichier introuvable <br>";
exit();


while (!feof($fp)) // On parcours le fichier
{
$ligne = fgets($fp,4096); // On se déplace d'une ligne
$liste = explode($separateur,$ligne); // Champs séparés par |


$col1 = $liste[0];
$col2 = $liste[1];


if (trim($col1)!= '') // si fin fichier


// INSERTION dans la base SQL "referencecompo"
$query="INSERT INTO referencecompo (nref,nomref,prix) values (' ','$col1','$col2')";

}
fclose($fp); // ferme fichier XLS
}

donc ça c un script que jsui aller chercher sur le net.
mais ya un truc que jcomprend pas du genre la ligne:
$ligne = fgets($fp,4096);

mais de toute façon ce script marche pas
Voilà donc si quelqu'un peut m'aider ça serait cool merci !

Autres pages sur : insertion fichier xls base sql

Lassé par la pub ? Créez un compte

Je sais bien que phpmyadmin le fait très bien !
jfais un site web pour une boite jvais pas leur dire d'aller ds phpmyadmin pour transférer leur fichier excel !
Nan sérieusement si quelqu'un peut m'aider sur ce code ça serait cool merci.

KangOl a écrit

va d'abord te documenter :o  ( http://www.php.net )


en effet, la réponse sur le fgets se trouve dans la doc du PHP...

Allez, je suis sympa:
"string fgets ( resource handle [, int length])"

fgets() retourne la chaîne lue jusqu'à la longueur length - 1 octet depuis le pointeur de fichier handle, ou bien la fin du fichier, ou une nouvelle ligne (qui inclue la valeur retournée), ou encore un EOF (celui qui arrive en premier). Si aucune longueur n'est fournie, la longueur par défaut est de 1 ko ou 1024 octets.

-----------

Quand tu dis "ça marche pas", tu peux détailler (ça fait rien du tout, ça prend que les 1ere lignes, ça affiche une erreur !!!)

bonjour
ouais nan en fait ce script marche impec à condition que le fichier excel soit enregistré en .csv. et je voudrais savoir pourkoi on est obligé de respecter cette condition.
pourkoi devoir absolument l'enregistrer en .csv et pourkoi ne peut-on pas le laisser en .xls
merci beaucoup !

paske CSV, veut dire que ce n'est plus un fichier Excel mais un fichier texte avec les séparation par "|" dans ton cas...

A la base c'est meme du "Comma Separated...", donc le séparateur était standardisé avec un ";", aujourd'hui Excel te propose d'importer ou exporter du CSV avec le séparateur de ton choix...

Si tu veux comprendre, tu ouvre ton ficheir xls avec un éditeur de texte, et tu ouvre ton fichier CSV dans la fenetre d'a coté avec ce meme editeur de texte (un truc du genre bloc-note)... ;) 

maintenant si le coté CSV te gène paske tu a peur que tes utilisateur sache pas faire, tu leur rajoute un joli bouton tout fait sur ta page excel avec le code qui va bien derriere pour que ça enregistre le CSV avec le bon séparateur, le bon nom, et au bon endroit.. :) 

Pour l'xplication concernant ma remarque, c'est le simple fait que tu fais un site pour une entreprise et que tu poses des questions aussi basique. Je préfère que tu sois stagiaire (ce qui justifie en partie tes questions). Le problème est que tu aurais pu faire un site pour une entreprise au black, cassant de ce fait le marché déjà plus ou moins saturé...
Lassé par la pub ? Créez un compte