在PowerShell中将CSV转换为Excel文件

时间:2012-03-29 11:40:28

标签: powershell excel-2010

我正在使用以下命令从多个Windows服务器上的事件日志中保存输出的CSV文件:

    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 个答案:

答案 0 :(得分:1)

当您致电export-csv时,请添加-NoTypeInformation标记,这将删除行类型信息行。

试试这个,因此,应该在excel中正确打开csv文件,你不需要再做任何事了。

要做更多格式化,比如适合内容和更改字体大小将会更有效。你将不得不使用COM并进行一些操作。

在这里查看一些示例和进一步的指导 - http://www.petri.co.il/export-to-excel-with-powershell.htm