Étapes pour convertir CSV en Excel (XLS/XLSX) via la ligne de commande
Dans le monde Windows, PowerShell est le couteau suisse de l’automatisation des systèmes. En ce qui concerne la conversion de CSV en Excel, PowerShell offre une solution élégante grâce au module ImportExcel.
Ce module ImportExcel est spécialement conçu pour manipuler des fichiers Excel directement à partir de la ligne de commande, sans avoir besoin d’installer Microsoft Office. Son principal avantage réside dans sa capacité à gérer des fichiers volumineux avec une grande efficacité, tout en conservant le format et la structure des données d’origine.
Premiers pas avec le module ImportExcel
Avant de pouvoir profiter de la puissance de ce module, vous devez d’abord l’installer. Le processus d’installation est très simple :
Install-Module -Name ImportExcel -Force -Scope CurrentUser
Quelques points importants à propos de ce processus d’installation :
- Parameter -Force garantit que l’installation se déroule sans confirmation supplémentaire
- -Scope CurrentUser installe le module uniquement pour votre compte courant
- Le processus nécessite une connexion Internet pour télécharger le package à partir de la galerie PowerShell
Si vous rencontrez une erreur concernant la stratégie d’exécution, exécutez-la d’abord :
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Conversion de CSV en Excel Magic Script
Une fois le module installé avec succès, vous pouvez immédiatement exécuter le script de conversion de fichier CSV en Excel avec la syntaxe suivante :
Import-Csv “C :\path\to\data.csv” |Export-Excel “C :\output\data.xlsx” -WorksheetName “Sheet1”
Disséquons ce script partie par section :
- Import-Csv : lire un fichier CSV et le convertir en objet PowerShell
- | (Pipeline) : Envoie des données d’une commande à l’autre
- Export-Excel : Recevoir des données et les écrire dans un fichier Excel
- -WorksheetName : Spécifie le nom de la feuille de calcul à créer
Variations avancées pour des besoins complexes
La vraie force de PowerShell réside dans sa flexibilité. Voici quelques modifications avancées que vous pouvez mettre en œuvre :
1. Convertissez plusieurs CSV à la fois
Get-ChildItem “C :\data\*.csv” |ForEach-Object {
$excelPath =$_.FullName -replace ''\.csv$','.xlsx'
Import-Csv $_ |Export-Excel $excelPath
}
2. Ajouter plusieurs feuilles de travail
$excel = New-Excel
Import-Csv “data1.csv” | Export-Excel -ExcelPackage $excel -WorksheetName “Sales”
Import-Csv “data2.csv” |Export-Excel -ExcelPackage $excel -WorksheetName “Inventory”
Close-ExcelPackage $excel -SaveAs “report.xlsx”
3. Avec formatage automatique
Import-Csv “data.csv” |Export-Excel “output.xlsx” -AutoSize -BoldTopRow -FreezeTopRow
Dépannage
Bien que le processus de conversion d’un fichier CSV en Excel (XLSX) à l’aide de PowerShell ait tendance à être simple, en pratique, vous pouvez rencontrer des problèmes techniques, en particulier si vous utilisez la ligne de commande pour la première fois ou si vous travaillez avec des fichiers volumineux. Voici quelques-uns des problèmes qui se posent souvent et comment les résoudre efficacement :
Modules inconnus
Si vous obtenez un message d’erreur tel que The term ‘Export-Excel’ is not recognized, cela signifie que PowerShell ne reconnaît pas les commandes du module ImportExcel. Ce problème se produit généralement parce que le module n’est pas installé correctement ou que PowerShell s’exécute sans autorisation d’administrateur.
Solution:
- Assurez-vous que vous exécutez PowerShell en tant qu’administrateur. Cliquez avec le bouton droit sur l’icône PowerShell et sélectionnez Exécuter en tant qu’administrateur avant d’exécuter la commande Install-Module.
- Vérifiez si le module est installé en exécutant :
Get-Module -ListAvailable ImportExcel
- Si le module n’est pas déjà présent, répétez le processus d’installation en :
Install-Module -Name ImportExcel -Force