(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>
</table>
(2)和
'11','22','33' | ConvertTo-Html -Fragment
返回
<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>
<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>
答案 0 :(得分:5)
它希望您提供一系列对象。所以例如两个,你的预期输出甚至在那里说“我的列名”,但你从来没有提供过任何东西。此外,您必须指定要包含表的属性,或者默认为“*”以表示所有内容。所以你能做的就是:
'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>
使用Select命令可以达到相同的效果:
'11','22','33' | Select @{label='My Column Name';expression={$_}} | ConvertTo-HTML -Fragment -Property 'My Column Name'