Powershell 如何使用convertto html创建包含动态列的html表?

Powershell 如何使用convertto html创建包含动态列的html表?,powershell,Powershell,如何使用convertto html创建包含动态列的html表 数据可以如下所示(列的数量和名称会有所不同): 我尝试过以下方法: $HTMLRows = $TableRows | convertto-html $_ $TableRows | ForEach-Object {Add-Member -InputObject $_ -Type NoteProperty -Name Value -Value $_; $_} | ConvertTo-Html -Fragment -Property Va

如何使用convertto html创建包含动态列的html表

数据可以如下所示(列的数量和名称会有所不同):

我尝试过以下方法:

$HTMLRows = $TableRows | convertto-html $_
$TableRows | ForEach-Object {Add-Member -InputObject $_ -Type NoteProperty -Name Value -Value $_; $_} | ConvertTo-Html -Fragment -Property Value
请让我知道,如果更多的信息是需要给一个答案


编辑:我自己找到了答案(如下),将问题和答案留在这里,以防我忘记,或者其他人需要它。

我设法将这段代码放在一起,解决了我的问题,但html表中的列顺序不正确。。想知道为什么编辑:我找到了它,调整了下面的代码([Ordered])

另外,我可以删除colgroup标签吗

$ColumnHeadings = $("Col1","Col2","Col3")
$TableRows = @(("a1","b1","c1"),("a2","b2","c2"),("a3","b3","c3"), ("a4","b4","c4"))
$columns = $ColumnHeadings.Count

$HTMLRows = $TableRows | Where-Object{$_} | ForEach-Object {
    $row = [Ordered]@{}
    For($rowIndex = 0;$rowIndex -lt $columns;$rowIndex++)
    {
        $h = $ColumnHeadings[$rowIndex]
        $row.Add($h,$_[$rowIndex])
    }
    [pscustomobject]$row
} | ConvertTo-Html -Fragment
给这个整洁的桌子:

 <table>
 <colgroup><col/><col/><col/></colgroup>
  <tr><th>Col1</th><th>Col2</th><th>Col3</th></tr>
  <tr><td>a1</td><td>b1</td><td>c1</td></tr>
  <tr><td>a2</td><td>b2</td><td>c2</td></tr>
  <tr><td>a3</td><td>b3</td><td>c3</td></tr>
  <tr><td>a4</td><td>b4</td><td>c4</td></tr>
 </table>

COL1 COL2COL3
a1b1c1
a2b2c2
a3b3c3
a4b4c4
 <table>
 <colgroup><col/><col/><col/></colgroup>
  <tr><th>Col1</th><th>Col2</th><th>Col3</th></tr>
  <tr><td>a1</td><td>b1</td><td>c1</td></tr>
  <tr><td>a2</td><td>b2</td><td>c2</td></tr>
  <tr><td>a3</td><td>b3</td><td>c3</td></tr>
  <tr><td>a4</td><td>b4</td><td>c4</td></tr>
 </table>