« PowerShell/Fichier/Microsoft Excel » : différence entre les versions
Aller à la navigation
Aller à la recherche
m (→Exemple) |
|||
| Ligne 13 : | Ligne 13 : | ||
<source> | <source> | ||
<# | <# | ||
Nom : | Nom : PSHEXL001 | ||
Description : création d'un fichier au format XLSX contenant la liste des processus | Description : création d'un fichier au format XLSX contenant la liste des processus | ||
Usage : exercice en PowerShell | Usage : exercice en PowerShell | ||
| Ligne 29 : | Ligne 29 : | ||
Clear-Host | Clear-Host | ||
if (Get-Module -Name | # Nom du module PowerShell à installer | ||
Write-Host ("Le module | $modulePS = "ImportExcel" | ||
if (Get-Module -Name $modulePS) { | |||
Write-Host ("Le module $modulePS est déjà installé !") -ForegroundColor Yellow | |||
} else { | } else { | ||
Install-Module ImportExcel -Scope CurrentUser -Force | Install-Module ImportExcel -Scope CurrentUser -Force | ||
Write-Host "Le module | Write-Host "Le module $modulePS est installé." -ForegroundColor Green | ||
} | } | ||
| Ligne 39 : | Ligne 42 : | ||
Get-Process | Export-Excel -Path $fichierNom | Get-Process | Export-Excel -Path $fichierNom | ||
Write-Host "Traitement terminé !" -ForegroundColor Green | Write-Host "Traitement terminé !" -ForegroundColor Green | ||
</source> | |||
== Exemple, conversion d'un fichier CSV en fichier XLSX == | |||
<source> | |||
<# | |||
Nom : PSHEXL002 | |||
Description : conversion d'un fichier CSV en XLSX (Microsoft Excel) | |||
Usage : exercice en PowerShell | |||
Particularité : - création du fichier CSV d'après une liste d'éléments | |||
- installation du module "Import-Excel" si nécessaire | |||
Auteur : fylip22 | |||
Version : 1.0 | |||
Révisions : | |||
- 1.0 (27/08/2025) : création du script | |||
#> | |||
Set-Location "C:\Support\" | |||
$horodatage = Get-Date -Format "yyyyMMdd-HHmmss" | |||
$fichierNomCSV = "./liste.csv" | |||
$fichierNomXLSX = "./ListeXLSX-$horodatage.xlsx" | |||
## A.- Création du fichier CSV avec du contenu | |||
$liste = @( | |||
"Nom;Prénom;Age", | |||
"Bonneau;Jean;18", | |||
"Auchon;Paul;25", | |||
"Croche;Sarah;22" | |||
) | |||
$liste | Out-File -FilePath .\$fichierNomCSV -Encoding utf8 | |||
## A.- - - - - - - - - - - - - - - - - - - - - | |||
Clear-Host | |||
## B.- Module PowerShell à installer | |||
$modulePS = "ImportExcel" | |||
if (Get-Module -Name $modulePS) { | |||
Write-Host ("Le module $modulePS est déjà installé !") -ForegroundColor Yellow | |||
} else { | |||
Install-Module ImportExcel -Scope CurrentUser -Force | |||
Write-Host "Le module $modulePS est installé." -ForegroundColor Green | |||
} | |||
## B.- - - - - - - - - - - - - - - - - - - - - | |||
## C.- Traitement | |||
Write-Host "Import du fichier CSV et conversion en XLSX, en cours..." -ForegroundColor Cyan | |||
Import-Csv $fichierNomCSV -Delimiter ";" -Encoding UTF8 | Export-Excel -Path $fichierNomXLSX | |||
Write-Host "Traitement terminé !" -ForegroundColor Green | |||
## C.- - - - - - - - - - - - - - - - - - - - - | |||
</source> | </source> | ||
Version du 27 août 2025 à 21:19
PowerShell et le module ImportExcel.
Généralité
Ce module ImportExcel est à installer :
Install-Module -Name ImportExcel
Liste des commandes de ce module :
Get-Command -Module ImportExcel
Exemple, export des processus
<#
Nom : PSHEXL001
Description : création d'un fichier au format XLSX contenant la liste des processus
Usage : exercice en PowerShell
Particularité : installation du module "Import-Excel" si nécessaire
Auteur : fylip22
Version : 1.0
Révisions :
- 1.0 (27/08/2025) : création du script
#>
Set-Location "C:\Support\"
$horodatage = Get-Date -Format "yyyyMMdd-HHmmss"
$fichierNom = "./processusListe-$horodatage.xlsx"
Clear-Host
# Nom du module PowerShell à installer
$modulePS = "ImportExcel"
if (Get-Module -Name $modulePS) {
Write-Host ("Le module $modulePS est déjà installé !") -ForegroundColor Yellow
} else {
Install-Module ImportExcel -Scope CurrentUser -Force
Write-Host "Le module $modulePS est installé." -ForegroundColor Green
}
Write-Host "Export des processus en cours, au format Excel..." -ForegroundColor Cyan
Get-Process | Export-Excel -Path $fichierNom
Write-Host "Traitement terminé !" -ForegroundColor Green
Exemple, conversion d'un fichier CSV en fichier XLSX
<#
Nom : PSHEXL002
Description : conversion d'un fichier CSV en XLSX (Microsoft Excel)
Usage : exercice en PowerShell
Particularité : - création du fichier CSV d'après une liste d'éléments
- installation du module "Import-Excel" si nécessaire
Auteur : fylip22
Version : 1.0
Révisions :
- 1.0 (27/08/2025) : création du script
#>
Set-Location "C:\Support\"
$horodatage = Get-Date -Format "yyyyMMdd-HHmmss"
$fichierNomCSV = "./liste.csv"
$fichierNomXLSX = "./ListeXLSX-$horodatage.xlsx"
## A.- Création du fichier CSV avec du contenu
$liste = @(
"Nom;Prénom;Age",
"Bonneau;Jean;18",
"Auchon;Paul;25",
"Croche;Sarah;22"
)
$liste | Out-File -FilePath .\$fichierNomCSV -Encoding utf8
## A.- - - - - - - - - - - - - - - - - - - - -
Clear-Host
## B.- Module PowerShell à installer
$modulePS = "ImportExcel"
if (Get-Module -Name $modulePS) {
Write-Host ("Le module $modulePS est déjà installé !") -ForegroundColor Yellow
} else {
Install-Module ImportExcel -Scope CurrentUser -Force
Write-Host "Le module $modulePS est installé." -ForegroundColor Green
}
## B.- - - - - - - - - - - - - - - - - - - - -
## C.- Traitement
Write-Host "Import du fichier CSV et conversion en XLSX, en cours..." -ForegroundColor Cyan
Import-Csv $fichierNomCSV -Delimiter ";" -Encoding UTF8 | Export-Excel -Path $fichierNomXLSX
Write-Host "Traitement terminé !" -ForegroundColor Green
## C.- - - - - - - - - - - - - - - - - - - - -
Exemple, Active Directory
Export des utilisateurs de l'AD vers un fichier Microsoft Excel, avec comme nom de la feuille de calcul "Utilisateurs liste" et une largeur automatique de colonne en fonction du contenu :
Get-ADUser -Filter * | Export-Excel -Path "c:/support/UtilisateurListe.xlsx" -WorksheetName "Utilisateurs liste" -AutoSize
Référence
Vidéo Youtube, IT-Connect, PowerShell : comment manipuler des fichiers Excel ? :
- fiche de cours : https://www.it-connect.fr/comment-manipuler-des-fichiers-excel-avec-powershell/
- vidéo : https://www.youtube.com/watch?v=R6SuK9KEMII