2012-03-29 8 views
0

J'utilise ce qui suit pour enregistrer un fichier CSV de sortie de l'événement journaux sur plusieurs serveurs Windows:Convert CSV fichier Excel dans PowerShell

Get-EventLog -LogName $logName -ComputerName $servers -Newest 2 -Entry 'Error', 'Warning' -ErrorAction SilentlyContinue | Sort MachineName, TimeWritten | Select MachineName, Source, TimeWritten, EventID, EntryType, Message | Export-CSV $csvFile #ConvertTo-CSV #Format-Table -Wrap -Property Source, TimeWritten, EventID, EntryType, Message -Autosize | 

je retire alors la première ligne (comme il commence par # Tapez et n'est pas nécessaire!):

$file = Get-Content $csvFile 
$file[1..($file.length-1)] | Out-File $csvFile -Encoding ascii 

Lorsqu'elle est ouverte dans Excel, elle n'est pas très bien formatée. Je voudrais convertir cela en Excel et formater les cellules pour les adapter au contenu, changer la taille de la police.

Est-ce que cela peut être fait depuis mon script?

Répondre

1

Lorsque vous appelez export-csv, ajoutez le drapeau -NoTypeInformation et qui supprimera la ligne d'information de type de ligne. Essayez cela, et en tant que tel, le fichier csv devrait être ouvert correctement dans Excel et vous n'aurez rien d'autre à faire. Pour faire plus de mise en forme comme le contenu d'ajustement et de changer la taille de la police sera plus de travail. Vous devrez utiliser COM et faire quelques manipulations.

Jetez un oeil ici pour quelques exemples et d'autres indications - http://www.petri.co.il/export-to-excel-with-powershell.htm

+0

Merci pour le conseil en ce qui concerne la TypeInformation, mais je suis à la recherche de la méthode de mise en forme n'Excel etc ... – neildeadman

+0

@neildeadman - Ajout d'un lien – manojlds