Ecrire un fichier csv

Bonjour à  tous,


 


Comment est il possible de lire un fichier csv contenant une seule ligne (header) embarqué dans mon projet et ensuite de le mettre à  jour via mon application (ajouter des records)?


De plus, comment faire pour que le fichier soit accessible depuis une autre application comme dropdox ?


 


Bien à  vous.


 


 


Réponses

  • Merci Aligator, mais sais tu ou je peux sauver mon csv dans mon device pour qu'il soit accessible via une autre app comment dropdox ?


  • AliGatorAliGator Membre, Modérateur
    Cette question est un tout autre sujet qui n'a rien à  voir avec l'écriture d'un CSV à  proprement parler, donc je t'invite à  ouvrir un topic dédié, d'autant qu'il y a plusieurs solutions (UIDocumentInteractionController, document sharing, etc) selon ce que tu veux faire, la version d'iOS que tu veux supporter, si tu intègres un SDK DropBox ou pas, etc.
  • Ok merci Aligator, je vais créer un nouveau topic, je pense ne pas avoir été assez claire sur le titre de mon sujet, car en faite je voudrais juste créé un fichier partagé en csv pour qu'une autre application puisse l'interroger.


     


    Bien à  toi


  • AliGatorAliGator Membre, Modérateur
    J'ai bien compris mais créer un fichier CSV c'est une chose et un premier sujet, et partager un fichier (que ce soit un CSV ou n'importe quel autre format) est un autre sujet qui n'a rien à  voir et est indépendant. Donc ce sont deux sujets différents qui n'ont finalement aucun lien et les réponses à  chacune des 2 questions (1 = créer un fichier CSV et 2 = partager un fichier) n'auront rien a voir l'une avec l'autre.


    Certains sauront répondre à  la question 1 car auront déjà  créé un fichier CSV dans leur app, d'autres sauront répondre a la question 2 car ils ont déjà  partagé un fichier TXT ou PDF par mail donc pour partager un CSV après tout c'est pareil c'est qu'un fichier comme un autre, même si eux n'ont jamais eu à  manipuler du CSV et ne sauront pas répondre à  ta première question.
  • Pour finaliser ce sujet, j'ai fait la mise à  jour du fichier sans utiliser le pod CSV car j'ai pas trouvé comment modifier le fichier csv existant. 


    Voici mon code:



    NSDateFormatter *DateFormatter=[[NSDateFormatter alloc] init];
    [DateFormatter setDateFormat:@dd/MM/yyyy HH:mm:ss];
    NSString *resultline = [NSString stringWithFormat:@%@;%@;%@;%@;%@",language,textfield_lastname.text,textfield_firstname.text,textfield_email.text,[DateFormatter stringFromDate:[NSDate date]]];

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *destinationpath = [documentsDirectory stringByAppendingPathComponent:@users.csv];
    NSString *fileContent = [NSString stringWithContentsOfFile:destinationpath encoding:NSUTF8StringEncoding error:nil];
    NSString *newContent = [NSString stringWithFormat:@%@\n%@",fileContent,resultline];
    [newContent writeToFile:destinationpath atomically:YES encoding:NSUTF8StringEncoding error:nil];
  • AliGatorAliGator Membre, Modérateur
    Attends, tu veux dire qu'à  chaque fois que tu veux rajouter une ligne, tu ouvres ton fichier CSV, relit tout son contenu, ajoute la ligne, et le referme, et ceci pour chaque ligne ? (Et pareil, tu crées ton NSDateFormatter à  chaque itération / ajout de ligne) ?! Ouch...
  • Non non, j'ai juste rassemblé le code pour une meilleure compréhension.


Connectez-vous ou Inscrivez-vous pour répondre.