Auteur de questions
XLS en CSV via PowerShell

Question
-
Toutes les réponses
-
Salut,
tiens essaies ce lien y a déjà un script fait :
https://gallery.technet.microsoft.com/office/How-to-convert-Excel-xlsx-d9521619
t'as aussi ce script :
- Proposé comme réponse Thierry DEMAN-BARCELÒMVP samedi 11 avril 2020 11:19
-
et pour faire simple t'as ce script, après il ne y'a pas une seule commande à taper, faut faire preuve d’imagination et adapter à ton cas, ouvrir le fichier excel et à l'aide d'une boucle exporter en CSV.
Function ExcelToCsv ($File) { $myDir = "D:\Excel" $excelFile = "$myDir\" + $File + ".xlsx" $Excel = New-Object -ComObject Excel.Application $wb = $Excel.Workbooks.Open($excelFile) foreach ($ws in $wb.Worksheets) { $ws.SaveAs("$myDir\" + $File + ".csv", 6) } $Excel.Quit() } $FileName = "list_of_names" ExcelToCsv -File $FileName
-
Bonjour,
attention, pour les fichiers XLSX contenant plusieurs feuilles, seule la feuille principale est convertie en fichier CSV. Donc, sauf si l'on est sur d'avoir des fichiers Excel mono-feuille, faire une alerte et ne pas supprimer le fichier source.
A bientôt,
Thierry DEMAN-BARCELO. Office Apps&Services MVP. MCSE:Enterprise admin, Messaging, Server Infrastructure 2016(89 MCPs). MCSA Office 365,Microsoft 365 Certified: Messaging Administrator Associate,Modern Desktop Administrator Associate, Security Admin https://base.faqexchange.info
-
-
-
Bonjour Sdembele
Inconvénient, qui peut être majeur, de ce qui est proposé ci-dessus : Il faut avoir excel installé sur la bécane qui exécute le script. Et ce n'est pas si courant que ça d'avoir le pack Office installlé sur un serveur.
Il y a un module Powershell nommé ImportExcel qui fait ça très bien, à savoir ouvrir/importer des fichiers excel ... sans avoir ce dernier installé sur la bécane.
2 commandes à passer :
Import-Excel -Path \\path\vers\tonfichier\excel.xls -Sheet "feuille1"
pour importer juste l'onglet "feuille 1" (si ton fichier excel à plusieurs onglets) et derrière tu pipeline avec le classique
Export-Csv -Path \\path\vers\exceltoscv.csv -delimiter ";" -NoTypeInformation
pour sortir dans un fichier .csv.
Peut-on faire plus simple ?
Dernier point : pour les macros, c'est no-way ... à ma connaissance.
Cordialement
Olivier