IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Import file CSV


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 38
    Points : 43
    Points
    43
    Par défaut Import file CSV
    Bonsoir,

    Je voudrais réaliser un plug-in de Firefox. Dans ce plug-in je dois importer un fichier locale CSV. Pour cela j'utilise la fonction suivante qui me retourne un string du contenu d'un fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    function loadFromFileMozilla(path) 
    {
    	try {netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");} catch (e) {alert("Permission to read file was denied.");}
     
    	// creation d'un objet file
    	var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
     
    	file.initWithPath( path );
    	if ( file.exists() == true ) {
    	var is = Components.classes["@mozilla.org/network/file-input-stream;1"].createInstance( Components.interfaces.nsIFileInputStream );
    	is.init( file,0x01, 00004, null);
    	var sis = Components.classes["@mozilla.org/scriptableinputstream;1"].createInstance( Components.interfaces.nsIScriptableInputStream );
    	sis.init( is );
    	return sis.read( sis.available() );
    	} else {return '';}
    }
    Ensuite je split la variable qui est retourné pour recuperer les lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var  donne= varRetoune.split('\r\n');
    Mais quand j'affiche le nombre de ligne et de colonne, le tableau "donne" ne
    correspond pas au tableau de départ.
    J'ai donc affiché les premiers element, et je me suis rendu compte que dans la premiere case du tableau, il y avait la 1er lettre de mon fichier et ainsi de suite.
    j'ai aussi essayé de faire avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var  donne= varRetoune.split(';');
    mais cela me donne la même chose.

    Je voulais donc savoir mon erreur, mais aussi savoir si il existe une autre méthode qui permet de retourner directement un tableau à partir d'un fichier.

    Merci d'avance!!

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    pour un plugin je ne sais pas mais sinon avec ajax et le responseText .

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 38
    Points : 43
    Points
    43
    Par défaut
    En faite, la méthode que j'ai écrit fonctionne. Je m'étais juste trompé dans mon code au moment de faire les split.

    Du coup, la fonction que j'ai mis ci-dessus retourne une chaine de caractère que je split 2 fois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    str = loadFromFileMozilla();
    str = str.split("\r\n");
    str = str.split(";");
    J'ai regardé la méthode responseText. C'est vrai que j'aurais pu utiliser cette méthode.
    Merci de m'avoir aidé.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Importer données csv file à la base
    Par sandra_bra dans le forum Documents
    Réponses: 10
    Dernier message: 23/04/2013, 13h36
  2. [phpMyAdmin] datatype float lors d'importé un csv file
    Par af555423 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 09/04/2013, 20h36
  3. Réponses: 9
    Dernier message: 31/01/2006, 22h42
  4. [CSV] Imports Excel CSV à reformater
    Par boteha dans le forum Langage
    Réponses: 13
    Dernier message: 23/01/2006, 21h41
  5. Import Excel / CSV
    Par aston_max dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 04/07/2004, 23h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo