1
我有两个PowerShell cmdlet生成进程报告和服务报告。使用poweshell 1.0将结果添加到新的Excel工作表中
如:获取过程和获取服务
我知道出口CSV C:\ test.csv将导出结果Excel工作表。
但我需要第一个cmdlet导出到第一个工作表和第二个cmdlet到同一csv文件的第二个工作表的结果。
我该怎么做?
我有两个PowerShell cmdlet生成进程报告和服务报告。使用poweshell 1.0将结果添加到新的Excel工作表中
如:获取过程和获取服务
我知道出口CSV C:\ test.csv将导出结果Excel工作表。
但我需要第一个cmdlet导出到第一个工作表和第二个cmdlet到同一csv文件的第二个工作表的结果。
我该怎么做?
IMO这里最好的选择只是使用Excel自动化。例如。的ConvertTo-Excel.ps1:。
param (
[ValidatePattern('\.csv$')]
[ValidateScript({
Test-Path $_
})]
[string[]]$Path
)
$FullPath = $Path | ForEach-Object {
(Resolve-Path $_).ProviderPath
}
$First, $Rest = $FullPath
$Excel = New-Object -ComObject Excel.Application
$Book = $Excel.Workbooks.Open($First)
foreach ($Item in $Rest) {
$Next = $Excel.Workbooks.Open($Item)
$Next.ActiveSheet.Move($Book.ActiveSheet)
}
$Excel.Visible = $true
您可以运行上面的脚本\的ConvertTo-Excel.ps1 -Path \ services.csv,\ process.csv,... CSV 并拥有全CSV合并,以相反的顺序。
HTH 鲍尔泰克
简短的回答:因为一个.csv是不支持多表像一个真正的Excel工作簿中的纯文本文件你不能做到这一点使用'出口型Csv'。 – Filburt 2012-04-21 16:09:02
@Filburt我可以将它导出为excel吗?或者我可以追加到现有的结果集,并把它放在同一张表中的CSV? – Rockstart 2012-04-21 16:17:00
应该可以将第二个结果集附加到相同的csv - 可能需要调整(添加一些空行)在Excel中看起来不错。否则,您必须创建一个真正的.xslx工作簿并使用Office自动化填充结果集。 – Filburt 2012-04-21 16:24:09