none
Probleme d'ecriture dans un fichier Excel RRS feed

  • Discussion générale

  • Bonjour,

    Je rencontre quelques problemes pour ecrire des donneés dans un fichier excel.
    Pour me connecter au fichier Excel j'utilise une connection OLEDB :

    Code Snippet

    string strCnx = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties=" + (char)34 + "Excel 8.0;HDR=No;" + (char)34 + ";";


    Puis je fais des insert pour insérer des données dans le fichier.
    Jusque la tout se passe bien, en tout cas pour la première ligne insérée.
    Quand il essaie d'insérer la seconde ligne il me sort l'erreur suivante :

    Code Snippet

    Informations supplémentaires : Le champ est trop petit pour accepter la quantité de données que vous voulez ajouter. Essayez d'insérer ou de coller moins de données.


    En effet la premiere ligne a un champ renseigné avec une chaine d'environ 10 caractères. Et sur la seconde ligne ce même champ va en comporter beaucoup plus. J'ai trouvé des articles disant que le connecteur prenait en compte les 8 premieres lignes du fichier pour déterminer le type des données à insérer. C'est certainement pour ca qu'il me dit sur la seconde ligne que la chaine est trop longue. Mais je n'ai pas trouvé comment forcer le format des données dans un fichier Excel pour que ma colonne accepte les chaines de caractere de grande taille.

    J'ai fait le test en initialisant le fichier avec une premiere ligne avec un chaine de caractere suffisement longue et l'écriture des lignes suivantes passe sans probleme quelquesoit leur longueur.

    Auriez vous une idée pour résoudre ce probleme
    Merci d'avance
    A bientôt
    vendredi 29 février 2008 16:38

Toutes les réponses

  • Bonjour,

    Je suppose que c'est un nouveau fichier qu'il te faut. En tout cas, un nouveau fichier paraît plus pratique.
     
    //Tu pourrais alors déclarer une variable Application et une variable Classeur,
    Microsoft.Office.Interop.Excel.Application appliExcel;
    Microsoft.Office.Interop.Excel._Workbook classeur;

    // les instancier,
    appliExcel = new Microsoft.Office.Interop.Excel.Application();
    classeur = (Microsoft.Office.Interop.Excel._Workbook)(appliExcel.Workbooks.Add(Missing.Value));

    // afficher le fichier Excel
    appliExcel.Visible = true;
     
    // et y faire tes opérations en te servant des objets Cell (cellule), Sheet (feuille),...
     
    Bien sûr, avant toute chose, il faut importer Microsoft.Office.Interop.Excel.
     
    Tiens nous au courant de la suite.
     
    Cordialement.
     
     
    mardi 23 décembre 2008 17:08