Question [Résolu] - Mise en forme d'un résultat

Plus d'informations
il y a 14 ans 7 mois #9985 par FO
Bonjour à tous,

J'utilise les cmdlets pour travailler avec Active Directory, plus particulièrement pour faire un export de plusieurs attributs.

La commande est la suivante :

[code:1]get-QADUser -IncludeAllProperties -SearchAttributes @{DisplayName='Ben*';mail='b*'} | select mail,DisplayName,name[/code:1]

Le résultat est affiché sous forme de colonne (voir ci-dessous)

mail DisplayName name


yyyyyy titi titi
xxxxxx tata tata

Je souhaiterai récupérer les informations dans un fichier xlsx ( colonne / colonne)

J'arrive bien à les récuperer dans un fichier .CSV avec la commande export-csv mais je suis obligé de reconvertir dans Excel mon fichier CSV afin de supprimer les ,

Est-il possible de convertir un fichier CSV en xlsx en supprimant les , (fonction convertir dans excel) en powershell? ou de traiter directement la sortie de ma commande pour qu'elle soit dans un fichier excel?

Merci d'avance pour votre aide.<br><br>Message édité par: Benjy, à: 11/08/11 08:34

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 7 mois #9986 par Matthew BETTON
Bonjour,

Avec quelque chose du genre

[code:1]Get-QADUser -IncludeAllProperties -SearchAttributes @{DisplayName='Ben*';mail='b*'} | select mail,DisplayName,name | Export-Csv -NoTypeInformation -Delimiter \&quot;;\&quot; -Encoding Default -Path .\MonFicher.csv[/code:1]

Tu devrais pouvoir ensuite ouvrir le fichier csv via Excel : il sera présenté sous la forme d'un tableau. Tu pourras ensuite éventuellement enregistrer le document une fois ouvert sous Excel en tant que fichier xls ou xlsx...

Si tu ne précises pas le paramétres '-delimiter \&quot;;\&quot;', le délimiteur par défaut est la ','. La virgule est le séparateur par défaut lorsqu'on est en paramètres régionaux \&quot;Anglais (xxx)\&quot;.

En espérant que cela puisse t'aider

@ +

Matthew BETTON<br><br>Message édité par: Matthew BETTON, à: 4/08/11 20:37

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 7 mois #10004 par FO
Réponse de FO sur le sujet Re:Mise en forme d'un résultat
Merci matthew !

C'est éxactement ça.

J'ai trouvé un bout de code pour convertir mon CSV en XLS mais pas en XLSX.
Ci-dessous, le code utilisé :

[code:1]$xlExcel8 = 56
$Excel = New-Object -ComObject excel.application
$Excel.visible = $False
$Excel.displayalerts=$False
$WorkBook = $Excel.Workbooks.Open($sourcedestfile)
$WorkSheet = $Workbook.worksheets.Item(1)
$Resize = $WorkSheet.UsedRange
$Resize.EntireColumn.AutoFit()
$WorkBook.SaveAs(\&quot;D:\Users.xls\&quot;, $xlExcel8)
$Excel.quit()[/code:1]

Par contre je ne comprends pas le bout de code suivant :

[code:1]$xlExcel8 = 56[/code:1]

C'est pour définir le format?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 7 mois #10006 par Matthew BETTON
Bonsoir,

Benjy écrit:

C'est pour définir le format?


Tout à fait. La variable '$xlExcel8' sert de paramètre dans l'appel de la méthode 'SaveAS'.

56 doit correspondre au format \&quot;Excel 97 / 2003\&quot;, donc 'xls'.

Pour la version 2007 / 2010 ('xlsx'), c'est à priori 51.

A tester :)

@ +

Matthew<br><br>Message édité par: Matthew BETTON, à: 8/08/11 21:47

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 14 ans 7 mois #10017 par FO
Merci bien !

Ca fonctionne.

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.083 secondes
Propulsé par Kunena