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 :

Manipuler Excel


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 40
    Points : 37
    Points
    37
    Par défaut Manipuler Excel
    Bonjour,

    J'ai une application qui gère Excel via un COM (Excel).

    Pour le moment, je suis capable d'ouvrir Excel. ensuite j'ouvre un fichier de type CSV (Comma Separate Value) qui contient des données séparé par des virgules. Pour diverses raisons je doit prendre ce fichier et le convertir en un format excel.

    À titre informatif, pour faire cette manipulation dans excel, il faut que j'ouvre le fichier CSV en cliquant sur le menu Données/Données Externe/Importer des données...

    Évidemment, je doit automatiser le tout. J'ai trouver nombreuses sources intéressantes mais aucune qui réussi à faire exactement ce que je veux. En se moment je suis en mesure d'ouvrir un fichier CSV et l'enregistrer en Excel sauf qu'il ne tient pas compte des virgule du fichier CSV pour séparer c'est valeur.

    Voici un URL intéressant : http://msdn2.microsoft.com/en-us/lib...xt(VS.80).aspx

    Vous remarquerez que le SaveAs semble suporter les délimitations par virgule mais ça ne fonctionne pas.

    Bon assez écrit voici mon code :

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    // Ouvrir le fichier texte dans Excel.
    Excel.Application xlApp = new Excel.Application();
    Excel.Workbooks xlClasseur = (Excel.Workbooks)xlApp.Workbooks;
     
    xlApp.Visible  =  true;
    //--- Voir cette URL : http://msdn2.microsoft.com/en-us/library/microsoft.office.interop.excel.workbooks.opentext(VS.80).aspx 
    xlClasseur.OpenText(@"c:\Technocentre.csv",								//--- Filename
    	 Excel.XlPlatform.xlWindows,						//--- Origin : Tjs cette valeur
    	 1,													//--- StartRow
    	 Excel.XlTextParsingType.xlDelimited,				//--- datatype : xlDelimited or xlFixedWidth
    	 Excel.XlTextQualifier.xlTextQualifierDoubleQuote,	//--- TextQualifier 
    	 false,												//--- ConsecutiveDelimiter 
    	 false,												//--- Tab
    	 false, 											//--- SemiColon
    	 true, 												//--- Comma
    	 false,												//--- Space
    	 false,												//--- Other
    	 Missing,											//--- OtherChar
    	 Missing,											//--- Field Info
    	 Missing, 											//--- TextVisualLayout
    	 Missing, 											//--- DecimalSeparator
    	 Missing,											//--- ThousandsSeparator
    	 Missing,											//--- TrailingMinusNumbers
    	 Missing);											//--- Local
     
    Excel.Workbook xlClasseurActif = xlApp.ActiveWorkbook;
     
     
    // Enregistrer le fichier au format classeur standard et quitter Excel.
    xlClasseurActif.SaveAs(@"C:\Technocentre.xls",
    		Excel.XlFileFormat.xlWorkbookNormal, 
    		Missing,
    		Missing, 
    		Missing,
    		Missing, 
    		Excel.XlSaveAsAccessMode.xlNoChange,
    		Missing, 
    		Missing,
    		Missing, 
    		Missing,
    		Missing);
     
    xlClasseurActif.Close(false, Missing, Missing);
    xlApp.Quit();
    Merci beaucoup de votre aide.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 40
    Points : 37
    Points
    37
    Par défaut
    J'ai trouvé mon problème. En faite mon code était parfait et il fonctionne très bien.

    Mon problème était mon fichier CSV.

    Si avec mon code je traite monfichier.txt au lieu de monfichier.csv tout fonctionne.

    J'en conclu donc le fichier CSV que j'utilise n'est pas un "vrai" fichier CSV mais plutôt un txt renommé en CSV.

    Bref, mon problème est résolu et si je peux aider au moins une personne avec ceci alors t'en mieux.

    Bonne journée !

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

Discussions similaires

  1. Manipuler Excel via Ole automation
    Par falcon dans le forum Excel
    Réponses: 3
    Dernier message: 02/10/2007, 15h39
  2. [Manipulation Excel] Executer une macro Excel depuis Access
    Par sebastien_oasis dans le forum VBA Access
    Réponses: 2
    Dernier message: 30/05/2007, 15h21
  3. [c#] Manipuler Excel
    Par Louisa dans le forum Contribuez
    Réponses: 3
    Dernier message: 26/04/2007, 16h30
  4. accélerer des manipulations Excel
    Par pschmidtke dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/06/2006, 20h02
  5. accélerer des manipulations Excel
    Par pschmidtke dans le forum Access
    Réponses: 5
    Dernier message: 27/06/2006, 15h15

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