2017-04-06 55 views
0

如何使用convertto-html創建一個包含動態列的HTML表格?如何使用convertto-html創建具有動態列的HTML表格?

數據可能是類似下面(列數和他們的名字會有所不同):

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

我試圖像下面的事情:

$HTMLRows = $TableRows | convertto-html $_ 
$TableRows | ForEach-Object {Add-Member -InputObject $_ -Type NoteProperty -Name Value -Value $_; $_} | ConvertTo-Html -Fragment -Property Value 

請讓我知道更多的信息是需要給出答案。

編輯:我發現自己的答案(如下圖),讓問題&這裏回答的情況下,我忘記了,或者其他任何人需要它。

回答

0

我設法將這一點的代碼放在一起,解決了我的問題,但在html-table中的列出現問題..想知道爲什麼..? 編輯:我找到了,調整後的代碼在下面([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>