我有两个Powershell cmdlet可以生成流程报告和服务报告。
例如:获取过程和获取服务
我知道export-csv c:\ test.csv会将结果导出到excel工作表。
但是我需要将第一个cmdlet的结果导出到同一csv文件的第一张工作表中,并将第二个cmdlet导出到第二张工作表中。
我该怎么做呢?
最佳答案
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。
高温超导
巴泰克
关于powershell - 使用Powershell 1.0将结果添加到新的Excel工作表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10260644/