Powershell 将数组转换为html表

Powershell 将数组转换为html表,powershell,Powershell,(1)我期待下面的陈述 @(1,2,3) | ConvertTo-Html -Fragment 返回 <table> <tr><td>1</td></tr> <tr><td>2</td></tr> <tr><td>3</td></tr> </table> <table> <colgroup><co

(1)我期待下面的陈述

@(1,2,3) | ConvertTo-Html -Fragment
返回

<table>
<tr><td>1</td></tr>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
</table>
<table>
<colgroup><col/></colgroup>
<tr><th>*</th></tr>
<tr><td>2</td></tr>
<tr><td>2</td></tr>
<tr><td>2</td></tr>
</table>
返回

<table>
<tr><td>1</td></tr>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
</table>
<table>
<colgroup><col/></colgroup>
<tr><th>*</th></tr>
<tr><td>2</td></tr>
<tr><td>2</td></tr>
<tr><td>2</td></tr>
</table>

*
2.
2.
2.
?

预期:

<table>
<colgroup><col/></colgroup>
<tr><th>My Column Name</th></tr>
<tr><td>11</td></tr>
<tr><td>22</td></tr>
<tr><td>33</td></tr>
</table>

我的列名
11
22
33

它希望您提供一个对象数组。例如,第二个例子,您的预期输出甚至在那里显示“我的列名”,但您从未向任何东西提供过。此外,您还必须指定希望表包含哪些属性,或者它默认为“*”以表示所有内容。所以你能做的是:

'11','22','33' | ForEach{[PSCustomObject]@{'My Column Name'=$_}} | ConvertTo-HTML -Fragment -Property 'My Column Name'
您的输出将是:

<table>
<colgroup><col/></colgroup>
<tr><th>My Column Name</th></tr>
<tr><td>11</td></tr>
<tr><td>22</td></tr>
<tr><td>33</td></tr>
</table>
'11','22','33' | Select @{label='My Column Name';expression={$_}} | ConvertTo-HTML -Fragment -Property 'My Column Name'