Comment exporter un CSV vers Excel en utilisant PowerShell
- Exporter un fichier CSV vers un fichier Excel à l’aide de l’objet COM Excel PowerShell
- Exporter un fichier CSV vers un fichier Excel à l’aide de l’objet COM Excel PowerShell
-
Exporter un fichier CSV vers un fichier Excel à l’aide de
PSExcel
PowerShell - Conclusion

Un CSV (valeurs séparées par des virgules) est un fichier texte brut stockant des données au format tabulaire. Il contient une liste de données séparées par des virgules ou d’autres délimiteurs, comme des points-virgules.
Un fichier CSV a une extension .csv
et peut être visualisé avec un programme de feuille de calcul, comme Microsoft Excel. Un fichier ayant l’extension .xlsx
est un fichier Tableau de travail Microsoft Excel.
Cet article examine les spécificités de l’exportation de fichiers CSV vers Excel en utilisant PowerShell, couvrant trois méthodes distinctes : l’objet COM Excel, le module ImportExcel
, et le module PSExcel
. Chaque méthode répond à des scénarios et des besoins différents, offrant des avantages uniques.
Exporter un fichier CSV vers un fichier Excel à l’aide de l’objet COM Excel PowerShell
La méthode de l’objet COM Excel est particulièrement utile lors de la manipulation de transformations de données et de rapports dans des environnements Windows. Cette approche est idéale pour ceux qui ont besoin d’automatiser le processus de conversion des données CSV en un format Excel plus convivial, largement utilisé dans les affaires et l’analyse des données.
Script :
# Define the CSV file path and the Excel file path
$csvPath = "C:\path\file.csv"
$excelPath = "C:\path\file.xlsx"
# Start Excel application
$excel = New-Object -ComObject excel.application
$workbook = $excel.Workbooks.Add()
$worksheet = $workbook.worksheets.Item(1)
# Import CSV data into the worksheet
$row = 1
Import-Csv $csvPath | ForEach-Object {
$col = 1
foreach ($value in $_.PSObject.Properties.Value) {
$worksheet.Cells.Item($row, $col) = $value
$col++
}
$row++
}
# Save and close Excel workbook
$workbook.SaveAs($excelPath)
$excel.Quit()
Dans ce script, nous commençons par définir les chemins de notre fichier CSV source et du fichier Excel de destination. Nous initions ensuite une instance de l’application Excel et ajoutons un nouveau classeur avec une seule feuille de calcul.
Le cmdlet Import-Csv
lit le fichier CSV, et nous itérons à travers chaque enregistrement en utilisant ForEach-Object
. À l’intérieur de la boucle, nous assignons chaque valeur à la cellule correspondante dans la feuille de calcul Excel.
Après avoir rempli la feuille de calcul avec toutes les données du fichier CSV, nous sauvegardons le classeur au chemin spécifié et fermons l’application Excel.
Sortie :
Exporter un fichier CSV vers un fichier Excel à l’aide de l’objet COM Excel PowerShell
La méthode de l’objet COM Excel est particulièrement utile lors de la manipulation de transformations de données et de rapports dans des environnements Windows. Cette approche est idéale pour ceux qui ont besoin d’automatiser le processus de conversion des données CSV en un format Excel plus convivial, largement utilisé dans les affaires et l’analyse des données.
Tout d’abord, vous devez installer le module ImportExcel
si vous ne l’avez pas déjà fait.
Install-Module -Name ImportExcel -Force -Scope CurrentUser
Script :
# Install the ImportExcel module if not already installed
# Install-Module -Name ImportExcel -Scope CurrentUser
# Define the CSV and Excel file paths
$csvPath = "C:\path\file.csv"
$excelPath = "C:\path\file.xlsx"
# Import data from CSV and export to Excel
Import-Csv -Path $csvPath | Export-Excel -Path $excelPath
# Print completion message
Write-Host "CSV data has been exported to Excel at: $excelPath"
Dans ce script, nous vérifions d’abord si le module ImportExcel
est installé. Ce module n’est pas inclus par défaut dans PowerShell et peut devoir être installé depuis la PowerShell Gallery en utilisant Install-Module
.
Ensuite, nous définissons les chemins de fichiers pour notre CSV source et le fichier Excel de destination. Le cmdlet Import-Csv
lit le fichier CSV, et le pipeline (|
) passe les données importées directement au cmdlet Export-Excel
, qui crée un fichier Excel à l’emplacement spécifié.
Ce script est conçu pour être simple et efficace, le rendant accessible même aux débutants en scripting PowerShell. Il démontre efficacement la facilité de conversion des données de CSV au format Excel en utilisant PowerShell.
Sortie :
Exporter un fichier CSV vers un fichier Excel à l’aide de PSExcel
PowerShell
Le module PSExcel
exploite les capacités de PowerShell pour interagir avec les fichiers Excel sans nécessiter l’installation d’Excel sur le système. Cela le rend particulièrement utile dans les environnements où l’installation d’Excel n’est pas réalisable, comme sur les serveurs ou les systèmes automatisés.
PSExcel
est largement utilisé pour des tâches telles que la génération de rapports, l’analyse de données et la conversion de données en un format plus présentable et accessible comme Excel.
Tout d’abord, vous devez installer le module PSExcel
si vous ne l’avez pas déjà fait.
Install-Module -Name PSExcel -Force -Scope CurrentUser
Script :
#Define the CSV and Excel file paths
$csvPath = "C:\path\file.csv"
$excelPath = "C:\path\file.xlsx"
# Import data from CSV
$csvData = Import-Csv -Path $csvPath
# Export data to Excel
$csvData | Export-Excel -Path $excelPath
# Print completion message
Write-Host "CSV data has been exported to Excel at: $excelPath"
Dans ce script, nous commençons par nous assurer que le module PSExcel
est installé. Il n’est pas inclus par défaut dans PowerShell et peut être installé depuis la PowerShell Gallery.
Nous définissons ensuite les chemins de notre fichier CSV source et du fichier Excel de destination. Le cmdlet Import-Csv
est utilisé pour lire le fichier CSV dans une variable.
Ces données importées sont ensuite passées au cmdlet Export-Excel
, qui crée un fichier Excel à l’emplacement spécifié.
Sortie :
Conclusion
Ce guide complet sur l’exportation de fichiers CSV vers Excel en utilisant PowerShell a démontré la flexibilité et la puissance de PowerShell dans la gestion des tâches de conversion de données. Chaque méthode explorée - l’objet COM Excel, le module ImportExcel
, et le module PSExcel
- offre des avantages uniques, répondant à différents environnements et exigences.
L’objet COM Excel est un choix robuste pour l’interaction directe avec Excel dans des environnements Windows, idéal pour des tâches de manipulation de données complexes. Les modules ImportExcel
et PSExcel
fournissent une approche alternative, étendant la fonctionnalité de PowerShell pour manipuler des fichiers Excel sans effort, même en l’absence de logiciel Excel.
Ces méthodes soulignent non seulement la polyvalence de PowerShell mais offrent également des solutions pratiques pour automatiser et simplifier les tâches de transformation de données. Que vous soyez novice en script PowerShell ou un professionnel expérimenté, ces méthodes fournissent des outils précieux pour améliorer vos capacités de traitement de données et de reporting dans une variété de scénarios.