用于将数组内容导出到excel的Powershell脚本

用于将数组内容导出到excel的Powershell脚本,powershell,Powershell,我正在使用下面的脚本将结果导出到excel。然而,当我将它导出到excel时,我只得到1行。请让我知道如何实现这一点。 #剧本 控制台输出: VmName VMIP ------ ---- {testA, testB, testC, testD}

我正在使用下面的脚本将结果导出到excel。然而,当我将它导出到excel时,我只得到1行。请让我知道如何实现这一点。 #剧本

控制台输出:

VmName                                VMIP                            
------                                      ----                            
{testA, testB, testC, testD}     {testA1, testB2, testC3, testD4}
导出Excel中的结果:

 VmName   VMIP
 testA    testA1
Excel中的必需结果

VmName  VMIP
testA   testA1
testB   testB2
testC   testB3
testD   testB4

您正在创建一个具有两个属性的对象(每个属性都是数组)。要导出xlsx文件,需要四个具有两个属性的对象。它有时被称为:

Zip也可以表示为:

$result = for ($i=0; $i -lt ([Math]::Min($array.Count, $array2.Count)); $i++) {
    [pscustomobject]@{VmName=$array[$i];VMIP=$array2[$i]}
}

从这个问题我们知道我们需要四个对象。你能回答我这个问题吗..我正在尝试将日志导出到excel..我有一个数组,有17个属性,因为日志的数量不断变化,我不知道需要多少个对象
$array = @("testA", "testB", "testC","testD")
$array2 = @("testA1", "testB2", "testC3","testD4")

$result = [System.Linq.Enumerable]::Zip($array,$array2,[Func[Object, Object, Object[]]]{
    [pscustomobject]@{VmName=$args[0];VMIP=$args[1]}
})

$result | Export-Excel -Path "C:\Users\Empower\Desktop\OMS-Log\test.xlsx"
$result = for ($i=0; $i -lt ([Math]::Min($array.Count, $array2.Count)); $i++) {
    [pscustomobject]@{VmName=$array[$i];VMIP=$array2[$i]}
}