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

WinDev Discussion :

Manipulation fichier EXCEL [WD16]


Sujet :

WinDev

  1. #1
    Membre très actif
    Homme Profil pro
    Développeur Junior
    Inscrit en
    Septembre 2011
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Junior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 170
    Par défaut Manipulation fichier EXCEL
    Bonjour, dans mon code actuel, j'importe une table dans un fichier excel, et je voulais savoir si il était possible :
    - d'ajouter une ligne en début de document
    - De créer des bordures complètes sur l'ensemble du document


    Actuellement, mon code est le 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
    33
    34
    35
    36
     
     
     
    sFic est une chaîne
    // On demande le nom du fichier
    sFic = fSélecteur("","","Fichier Excel","*.xls","xls",fselCrée+fselExiste)
    // Si le nom n'a pas été fourni, on abandonne l'export
    // Sinon, on exporte le contenu de la table
    SI sFic <> "" ALORS 
    	TableVersExcel("Table_Planning", sFic, taAvecMiseEnForme)
    	Info("Tableau Excel enregistré avec sucés")
    FIN
     
    // déclaration variables :
     
    MaFeuille est un xlsDocument
     
    // Ouverture d'un fichier XLS :
    MaFeuille = xlsOuvre(sFic, xlsEcriture)
    SI MaFeuille = -1 ALORS
    	Info("Fichier Excel "+sFic+" introuvable")
    	RETOUR
    FIN
     
    // alimentation celulles
    AlimenteCellules(MaFeuille)
     
    CreeBordures()
     
    AjouteTitreDocument()
     
    // sauve le fichier modifié :
    xlsSauve(MaFeuille)
     
    // ferme le fichier modifié :
    xlsFerme(MaFeuille)
    Merci de votre aide, et de vos conseils avisés

  2. #2
    Membre émérite
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 615
    Par défaut
    Bonjour
    Pour ce qui est de l'ajout il faudrait savoir si ce sont les titres de ta table auquel cas il me semble qu'il sont importés dans Excel et que de toute façon tu peux facilement ajouter un ligne de plus à ta table dans ton programme
    Pour la partie mise en forme, tu as un exemple wdpilotage excel qui te montre comment piloter excel par ole automation
    Tu fais un macro xls que tu transcris en wd et tu auras ton résultat
    Bon dev
    Gancau

  3. #3
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 564
    Par défaut
    Tu ne peux pas modifier un document excel avec les fonctions xls...(). Tu dois passer par l'activex. Il y a pas mal de sujets et messages sur ce thème dans ce forum.

    Sans oublier l'exemple Pilotage de Excel livré avec windev

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur Junior
    Inscrit en
    Septembre 2011
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Junior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 170
    Par défaut
    D'accord, je me dirigerais donc vers l'exemple windev, et vers les macros dans ce cas

    Merci

  5. #5
    Membre très actif
    Homme Profil pro
    Développeur Junior
    Inscrit en
    Septembre 2011
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Junior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 170
    Par défaut
    Bonjour, je reviens à la charge car je n'arrive absolument pas à faire ce que je veux sur ce document excel ><

    J'ai copié la classe c_excel donnée par WDExemples
    J'ai essayé de l'utiliser mais mes fonctions ne changent absolument rien..

    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
     
    sFic est une chaîne
    // On demande le nom du fichier
    sFic = fSélecteur("","","Fichier Excel","*.xls","xls",fselCrée+fselExiste)
    // Si le nom n'a pas été fourni, on abandonne l'export
    // Sinon, on exporte le contenu de la table
    SI sFic <> "" ALORS 
    	TableVersExcel("Table_Planning", sFic, taAvecMiseEnForme)
    	Info("Tableau Excel enregistré avec sucés")
    FIN
     
    // déclaration variables :
     
    MaFeuille est un xlsDocument
     
    // Ouverture d'un fichier XLS :
    MaFeuille = xlsOuvre(sFic, xlsEcriture)
    SI MaFeuille = -1 ALORS
    	Info("Fichier Excel "+sFic+" introuvable")
    	RETOUR
    FIN
     
    // alimentation celulles
    AlimenteCellules(MaFeuille)
     
    CreeBordures()
     
    // sauve le fichier modifié :
    xlsSauve(MaFeuille)
     
    // ferme le fichier modifié :
    xlsFerme(MaFeuille)
     
    clMonobjet est un objet c_Excel
    
    clMonobjet:Ouvrir(sFic)
    //clMonobjet:Bordure("QUADRILLAGE",0,1,"")
    clMonobjet:Quadrillage()
    clMonobjet:Couper("A1:CS37")
    clMonobjet:EcrireValeur("A1","TEEEEST")
    clMonobjet:Coller("B1")
    clMonobjet:Enregistrer(sFic)
    clMonobjet:Fermer()
    Je copie donc un tableau de windev sous un document excel, puis je le ré-ouvre de façon à insérer un titre à la première ligne, puis à ajouter un quadrillage à mon tableau.

    Seulement rien ne fonctionne, de plus, je ne semble pas enregistrer et fermer le document excel car il tourne toujours dans mes processus.

    Je suis un peu perdu je dois l'avouer ><

    Je vous remercie pour vos conseils

  6. #6
    Membre très actif
    Homme Profil pro
    Développeur Junior
    Inscrit en
    Septembre 2011
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Junior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 170
    Par défaut
    Bonjour à tous, je viens de me repencher sur mon projet, et je me suis rendu compte que le constructeur était inexistant, n'ayant pas initialisé mon objet, je ne pouvais pas faire grand chose..!

    Je vous remercie et vous donne mon code 'propre'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    clMonobjet est un objet c_Excel
    
    clMonobjet:Constructeur()
    clMonobjet:Ouvrir(sFic)
    clMonobjet:Couper("A1:CS37")
    clMonobjet:Coller("A2")
    clMonobjet:EcrireValeur("A1","TEEEEST")
    clMonobjet:Bordure("QUADRILLAGE",0,1,"")
    clMonobjet:Quadrillage()
    clMonobjet:Enregistrer(sFic)
    clMonobjet:Fermer()
    clMonobjet:Quitter()

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

Discussions similaires

  1. manipulation fichier excel - sauvegarde
    Par piero53 dans le forum VB.NET
    Réponses: 1
    Dernier message: 08/07/2011, 08h44
  2. manipulation fichier excel
    Par oniric dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 07/11/2008, 21h14
  3. manipuler fichier excel 2003 avec l'api jxl ?
    Par hoor3in dans le forum Documents
    Réponses: 2
    Dernier message: 30/04/2008, 13h16
  4. manipulation fichiers excel
    Par abdelilah dans le forum C
    Réponses: 4
    Dernier message: 19/01/2008, 18h11
  5. Manipulation fichier excel : quel langage ?
    Par HaTnuX dans le forum Windows
    Réponses: 7
    Dernier message: 14/04/2006, 19h34

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