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

Scripts/Batch Discussion :

Ecrire dans un fichier Excel avec un format de données [PowerShell]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2021
    Messages : 6
    Par défaut Ecrire dans un fichier Excel avec un format de données
    Bonjour à tous,

    J'ai un petit soucis et je souhaiterais avoir votre avis et éventuellement votre aide sur celui-ci.

    Contexte :
    Je souhaite écrire des données que j'ai déjà récupérée dans un fichier excel (CSV).
    Mes tentatives aboutissent sur des données qui s'écrasent sur deux lignes et une colonne.

    La première contient les titres et la secondes les datas.
    J'ai mis en pièce jointe le format que je souhaiterais avoir, si quelqu'un a une idée pour régler le problème, je suis preneur.

    Merci beaucoup,
    Weac
    Images attachées Images attachées  

  2. #2
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2021
    Messages : 6
    Par défaut Avancement
    J'ai réussi à écrire sur plusieurs colonnes grâce au délimiteur (";" à la place de ",")

    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $itemsPath = Get-ChildItem $path | Select-Object -property Basename, FullName, Name  | Export-Csv -Path $pathCSV -Delimiter ";" -NoTypeInformation -Force
        Get-Content -Path $pathCSV

    Cependant, toujours un problème, je n'arrive pas à écrire l'ensemble des fichiers sur le doc Excel (j'obtiens une seule ligne) et elle correspond au dernier fichier correspondant, donc j'écrase les autres.


    Nom : Avancement.PNG
Affichages : 306
Taille : 3,5 Ko

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2021
    Messages : 6
    Par défaut Trouvé !
    Le code est simple à comprendre :
    Pour ceux que ça pourrait aider :
    https://akril.net/utiliser-microsoft...ia-powershell/ L

    Code PowerShell : 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
    $excel = new-object -comobject Excel.Application
    $excel.visible = $true
    $excel.DisplayAlerts = $False
    $workbook = $excel.Workbooks.Add()
    $workbook = $workbook.Worksheets.Item(1)
     
    $row = 1
    $column = 1
     
    $workbook.Cells.Item($row,$column) = 'Nom'
    $column++
    $workbook.Cells.Item($row,$column) = 'NomExtension'
    $column++
    $workbook.Cells.Item($row,$column) = 'Path'
    $column++
    $row = 2
    $column = 1
     
                     $entries = Get-ChildItem $path | Select-Object -property Basename, FullName, Name 
                        foreach ($entry in $entries) {
                            $workbook.Cells.Item($row,$column) = $fileNameExtension
                            $column++
                            $workbook.Cells.Item($row,$column) = $fileName
                            $column++
                            $workbook.Cells.Item($row,$column) = $path
                            $column++
                            $row++
                            $column=1
                        }
     
    #Autofit des cellules (pour bien espacer et que ce soit lisible)
    $UR = $workbook.UsedRange
    $UR.EntireColumn.AutoFit()
     
    $workbook.SaveAs($pathCSV)
    $excel.Quit()

  4. #4
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Hello,

    Tu peux passer le sujet en résolu

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

Discussions similaires

  1. Ecrire dans un fichier excel avec une boucle
    Par fafa isfan dans le forum Général Python
    Réponses: 4
    Dernier message: 14/03/2016, 17h47
  2. Réponses: 5
    Dernier message: 02/10/2015, 15h52
  3. [C#] Comment écrire dans un fichier Excel ?
    Par chorokari dans le forum C#
    Réponses: 8
    Dernier message: 09/02/2007, 09h17
  4. [C#] Comment écrire dans un fichier Excel ?
    Par FoxDeltaSierra dans le forum ASP.NET
    Réponses: 2
    Dernier message: 07/05/2006, 15h29
  5. [VB]Ecrire dans un fichier excell
    Par Empty_body dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 07/02/2006, 12h55

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