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

C# Discussion :

Problème pour lire du texte avec Excel


Sujet :

C#

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 19
    Points : 12
    Points
    12
    Par défaut Problème pour lire du texte avec Excel
    Bonjour,

    je cherche à créer un fichier Excel à l'aide du C#.
    J'ai un problème avec certaines cellules, en effet, j'ecris des références qui ressemblent à de longs chiffres, mais qui doivent être écrites et visualisable entièrement quand on ouvre le fichier Excel, elles ne doivent surtout pas être lues au format "nombre". Par exemple, quand j'écris par le code "2E07" dans le fichier Excel, j'obtiens "20000000" quand j'ouvre le fichier, et je perd un donnée importante.

    J'ai eu l'idee de sauvegarder les données dans un fichier texte, en séparant les cellules par des ";" comme pour faire un fichier csv. Si on ouvre le fichier avec Excel à la main, on peut faire en sorte qu'il interprète les colonnes en texte.
    Donc j'ai voulu faire pareil en code et j'ai utilisé le code suivant :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Excel.Application xlAppl = new Excel.Application();
    xlAppl.Visible = false;
    				
    try
    {
    	object Missing = System.Reflection.Missing.Value;
    
    	Excel.Workbooks m_objBooks = (Excel.Workbooks)xlAppl.Workbooks;
    
    
    	int val = (int)Excel.XlColumnDataType.xlTextFormat;
    
    	object fieldInfo = new int[10,2] {	{1,val},{2,val},
    					{3,val},{4,val},
    					{5,val},{6,val},
    					{7,val},{8,val},
    					{9,val},{10,val} };			
    
    
    	m_objBooks.OpenText(	fichier,Excel.XlPlatform.xlWindows,Missing,		Excel.XlTextParsingType.xlDelimited,
                 Excel.XlTextQualifier.xlTextQualifierDoubleQuote,
    	Missing,Missing,true,Missing,Missing,Missing,Missing,
    	fieldInfo,
    	Missing,Missing,Missing,Missing,Missing);
    
    	Excel._Workbook xlClasseur = xlAppl.ActiveWorkbook;
    
    	fileXls = fichier.Replace(".txt",".xls");
    	xlClasseur.SaveAs(fileXls,Missing,Missing,Missing,Missing,Missing,Excel.XlSaveAsAccessMode.xlNoChange,Missing,Missing,Missing,Missing,Missing);
    
    	xlClasseur.Close(false, Missing, Missing) ; // ferme le XLS
    Le fichier est créé, mais malgré le champ "fieldInfo" que je renseigne de façon à ce que les colonnes soient interprétées en texte, j'ai toujours des nombres quand j'ouvre le fichier....

    J'ai beaucoup cherché sur la façon d'utiliser la méthode "opentext", il y a beaucoup d'exemples en VB et très peu en C#. J'ai l'impression d'avoir rempli correctement le champ "fieldInfo" mais ça ne veut pas marcher!!

    Pourriez-vous m'aider?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    Essaye d'appliquer le style sur la colonne entière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Worksheet xlSheet = (Worksheet)xlAppl.ActiveSheet;
    ((Range)xlSheet.Columns[x, y]).EntireColumn.NumberFormat = XlColumnDataType.xlTextFormat;
    //Où x est le numéro de ligne et y le numéro de colonne
    Tu peux aussi essayer un redimensionnement auto des colonnes, quelques fois ça joue dans l'affichage des données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((Range)xlSheet.Columns[x, y]).EntireColumn.AutoFit();

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mai 2008
    Messages : 3
    Points : 4
    Points
    4
    Par défaut pb chiffres stockes en texte dans excel
    Bonjour (soir) :-)

    J'ai besoin d'aide svp.
    Lorsque je modifie un fichier excel dans csharp (par exemple lorsque je supprime une ligne du fichier excel) tous les chiffres deviennent du texte !!!

    Pour être plus precis mon fichier excel source est en fait du format txt. Quand je le ferme il me demande si je veux conserver le format blablabla...

    Donc quand j'ouvre ledit fichier excel les chiffres et les date sont corrects mais dès que je vais une modif du fichier avec csharp les chiffres deviennent du texte !!! (euh je crois que je me repete là).

    Alors j'ai pensé sauvegarder ledit fichier excel (txt) en xlsnormal et ensuite faire mes modifs dessus.

    Mon problème et que je n'arrive pas à convertir mon fichier excel du format texte vers le format xlsnormal.

    Auriez vous une soluce svp ???

    Merci.

  4. #4
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    Bonjour Mokalux,

    Le mieux, c'est de créer un nouveau sujet pour ton problème : nouveau sujet

Discussions similaires

  1. [JDOM] Problème pour lire les noeuds avec JDOM
    Par Eclix dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 26/05/2014, 18h11
  2. problème pour lire une feuille excel a partir d'Access
    Par h_adil dans le forum VBA Access
    Réponses: 1
    Dernier message: 17/07/2008, 23h44
  3. Problème pour lire un fichier EXCEL
    Par baloo81 dans le forum Modules
    Réponses: 12
    Dernier message: 17/07/2008, 15h21
  4. Configuration pour lire programme français avec Excel anglais
    Par tonioj41 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 17/04/2008, 14h38
  5. [FLASH 8] Problème pour lire un texte
    Par Halobox dans le forum Flash
    Réponses: 2
    Dernier message: 11/01/2006, 21h59

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