Не могу вставить информацию в 3-ю колонку - PullRequest
0 голосов
/ 11 января 2019

Я собрал некоторый код в PowerShell, чтобы создать таблицу данных HTML и вставить некоторую информацию в ячейки. По какой-то причине я ничего не помещаю в ячейку данных третьего столбца. Однако информация о заголовке появляется в третьем столбце. Код выглядит следующим образом.

# Create a DataTable
$table = New-Object System.Data.DataTable "Table1"
$col1 = New-Object System.Data.DataColumn Device,([string])
$col2 = New-Object System.Data.DataColumn StatusA,([string])
$col3 = New-Object System.Data.DataColumn StatusB,([string])
$table.Columns.Add($col1)
$table.Columns.Add($col2)
$table.Columns.Add($col3)

# Add content to the DataTable
$row = $table.NewRow()
$row.Device = "Col1"
$row.StatusA = "Col2"
$row.StatusB = "Col 3 - DATA HERE PLEASE"
$table.Rows.Add($row)

# Create an HTML version of the DataTable
$html = "<table><tr><th>Title</th><th>StatusA</th><th>StatusB</div></th></tr>"
foreach ($row in $table.Rows) {
    $html += "<tr><td>" + $row[0] + "</td><td>" + $row[1] + "</td></tr>"
}
$html += "</table> <br>"

$html | Out-File $PSSCriptRoot\Output.html

Вот вывод, который я получаю при открытии в браузере, поскольку вы не видите ничего из данных Col3 (StatusB), которые отображаются.

page screenshot

У меня такое ощущение, что это где-то простая опечатка, но я сводил себя с ума, пытаясь ее идентифицировать. Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 11 января 2019

Вы можете заменить большую часть кода одной строкой, если используете ConvertTo-Html ...

$table | ConvertTo-Html -Fragment -Property Device,StatusA,StatusB | Out-File -FilePath $PSSCriptRoot\Output.html

Я использовал Fragment, поэтому он просто выводит HTML для таблицы, но вы можете удалить его и сгенерировать всю структуру HTML-страницы.

Проверьте ссылку на документацию, чтобы увидеть остальные опции, так как эта команда может сделать намного больше.

...