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 :

Import fichiers excel dans FIC


Sujet :

WinDev

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    novembre 2006
    Messages
    425
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : novembre 2006
    Messages : 425
    Points : 129
    Points
    129
    Par défaut Import fichiers excel dans FIC
    Bonjour,

    Comment dois-je faire :

    J'ai différents fichiers excel avec chaqu'un une petite centaine de colonnes (rubriques).

    Je dois les intégrer dans un seul fichier FIC qui lui contient toutes les rubriques

    Je peux m'arranger que tout les fichiers excel on la même clé de parcours (identifiant unique).
    Donc si vous voulez: la n'ième ligne dans chaque fichier excel = tout les données pour 1 client.

    Comment dois-je m'y prendre ?

    BAV

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    janvier 2008
    Messages
    410
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : janvier 2008
    Messages : 410
    Points : 513
    Points
    513
    Par défaut
    Salut,

    Depuis l'interface d'analyse tu peux importer des fichiers, l'import de fichier excel est automatique. Menu Structure de Fichiers - Importer des description des fichiers/table, puis tu choisi de convertir en HF.


    A+

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Si via l'import tu rencontres des problèmes de doublons par exemple, importe tes 2 fichiers Excel dans 2 fichiers HF et fais la fusion dans un troisième fichier HF (ou fusionne les 2 fichiers HF en un seul en "incorporant" le second dans le premier par exemple)

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    novembre 2006
    Messages
    425
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : novembre 2006
    Messages : 425
    Points : 129
    Points
    129
    Par défaut
    OK, comment fusionne-t-on deux fichiers ?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    novembre 2006
    Messages
    425
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : novembre 2006
    Messages : 425
    Points : 129
    Points
    129
    Par défaut
    en fait c'est des fichier excel plustot lourd (trop lourds en nombre de collones pour Excel en tout cas)

    du coup j'ai trouvé un vbscript qui fusionne des cvs.

    Elle fusionne bien, mais je pense quand même qu'il y un léger souci avec les des rubriques vides je pense, en tout cas, pour certains enregistrement j'ai des décalages dans la data ???

    Le code si-dessous vous parait correcte ?

    BAv


    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    Option Explicit
     
    public const ForReading = 1
    public const ForWriting = 2
    public fso, OutputFile, ProcessedFile
     
    dim Folder, Files, File
     
    set fso = CreateObject("Scripting.FileSystem* Object")
    set Folder = fso.GetFolder(".")
    set Files = Folder.Files 
    OutputFile = "output.csv"
     
    CreateProcessedFile(OutputFile)
     
    for each File in Files
        if isCSV(File.Name) and File.Name <> OutputFile then
            Process(File.Name)
        end if
    next
     
    Function isCSV(FileName)
        dim arrFilename
        arrFilename = split(FileName,".")
        if ubound(arrFilename) > 0 then
            if lcase(arrFilename(ubound(arrFilena* me))) = "csv" then
                isCSV = true
            else
                isCSV = false
            end if
        end if
    End Function
     
    Function CreateProcessedFile(FileName)
        Set ProcessedFile = fso.CreateTextFile(".\" &FileName, true)
    End Function
     
    Function Process(FileName)
        dim NextLine, Output, InputLine, TextFile
        set TextFile = fso.OpenTextFile (".\" & FileName, ForReading)
        set ProcessedFile = fso.OpenTextFile (".\" & OutputFile, ForReading)
     
        if ProcessedFile.AtEndOfStream then
            while not TextFile.AtEndOfStream
                 if not ProcessedFile.AtEndOfStream then
                    InputLine = ProcessedFile.Readline
                 else
                    InputLine = ""
                 end if
                 NextLine = TextFile.Readline
                 Output = Output & NextLine & vbcrlf
            wend
        else
            while not TextFile.AtEndOfStream
                 if not ProcessedFile.AtEndOfStream then
                    InputLine = ProcessedFile.Readline
                 else
                    InputLine = ""
                 end if
                 NextLine = TextFile.Readline
                 Output = Output & InputLine & "," & NextLine & vbcrlf
            wend
         end if
         WriteProcessedFile(Output)
    End Function
     
    Function WriteProcessedFile(Contents)
        dim TextStream
        Set ProcessedFile = fso.GetFile(".\" & OutputFile)
        Set TextStream = ProcessedFile.OpenAsTextStream(For* Writing,-2)
        TextStream.Write Contents
        TextStream.Close
    End Function

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Citation Envoyé par chapeau_melon Voir le message
    OK, comment fusionne-t-on deux fichiers ?
    On ajoute les enregistrements d'un à l'autre

    Pour ton script, VBS, je te rappelle que ceci est le forum Windev.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    novembre 2006
    Messages
    425
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : novembre 2006
    Messages : 425
    Points : 129
    Points
    129
    Par défaut
    Citation Envoyé par Guardian Voir le message
    On ajoute les enregistrements d'un à l'autre

    Pour ton script, VBS, je te rappelle que ceci est le forum Windev.
    oui je sais mais si cela peut aider quelqu'un ...


    J'ai pas dormi cette nuit, je suis un peu pommé...comme dois-je faire à nouveau pour les ajouter :
    tantque ... hlit(DB1) ... et puis ... hajoute(DB2) ?

    Attention les rubriques des deux fichier sont différents !?

    BAT en tout cas

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    janvier 2008
    Messages
    410
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : janvier 2008
    Messages : 410
    Points : 513
    Points
    513
    Par défaut
    Salut,

    Une fois la structure de ton fichier .fic déterminée, tu peux soit le laisser vide puis lire les différents fichiers excel depuis windev grâce à xlsOuvre() et xlsDonnée() et transférer les données, soit importer le plus gros fichier avec ses données puis transférer les autres par programme.
    Avec WD tu peux récupérer le titre des colonnes et les cellules vide ou non.

    A+

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Si tes rubriques sont différentes, je suposes que tu dois les conserver toutes ?
    Dans ce cas, il faut :
    Générer le fichier HFA depuis le Excel1
    Générer le fichier HFB depuis le Excel2
    Générer le fichier HFC depuis HFA & HFB en récupérant toutes les rubriques des deux fichiers HFA & HFB
    Ajouter tout HFA à HFC
    Ajouter tout HFB à HFC

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

Discussions similaires

  1. Importation fichier Excel dans Cognos 8.3
    Par sydnol dans le forum Cognos
    Réponses: 2
    Dernier message: 12/05/2009, 12h58
  2. [BO XiR2] Importer fichier Excel dans webi
    Par MOMO_LAM dans le forum Webi
    Réponses: 4
    Dernier message: 12/12/2008, 11h51
  3. comment importer fichier excel dans sqlserver en delphi7
    Par PDelph7 dans le forum Bases de données
    Réponses: 2
    Dernier message: 16/08/2007, 08h52
  4. Import fichier Excel dans Access
    Par MYNOTAURE dans le forum Access
    Réponses: 1
    Dernier message: 11/03/2007, 13h43
  5. Importation fichier Excel dans table Access
    Par kemasse dans le forum Access
    Réponses: 2
    Dernier message: 27/06/2006, 15h12

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