Конвертировать CSV в файл Excel в PowerShell - PullRequest
0 голосов
/ 29 марта 2012

Я использую следующее для сохранения CSV-файла вывода из журналов событий на нескольких серверах Windows:

    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 | 

Затем я удаляю первую строку (так как она начинается с #Type и не нужна!):

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

При открытии в Excel он не очень хорошо отформатирован.Я хотел бы преобразовать это в Excel и отформатировать ячейки, чтобы соответствовать содержимому, изменить размер шрифта.

Можно ли это сделать из моего скрипта?

1 Ответ

1 голос
/ 29 марта 2012

Когда вы звоните export-csv, добавьте флаг -NoTypeInformation, и это удалит информационную строку типа линии.

Попробуйте, и поэтому файл CSV должен быть правильно открыт в Excel, и вам больше ничего не нужно делать.

Для большего форматирования, такого как подгонка содержимого и изменение размера шрифта, будет больше работы. Вам придется использовать COM и сделать некоторые манипуляции.

Посмотрите здесь несколько примеров и дальнейших указаний - http://www.petri.co.il/export-to-excel-with-powershell.htm

...