【问题标题】:Add multidimensional array to html table in Powershell将多维数组添加到 Powershell 中的 html 表
【发布时间】:2016-09-07 13:34:31
【问题描述】:

我有 2 列多行的二维数组 $dates,例如:

$dates[0][0] = 2016.07.20
$dates[0][1] = 1
$dates[1][0] = 2016.08.19
$dates[1][1] = 6
...

我需要将此数组作为表格添加到 html 输出中。 例如我有 html 表格的样式:

$a = "<style>"
$a = $a + "TABLE{border-width: 2px;border-style: solid;border-color: black;border-collapse: collapse;}"
$a = $a + "TD{border-width: 1px;padding: 0px;border-style: solid;border-color: black;}"
$a = $a + "</style>"

当我使用时:

$dates | Select @{expression={$_}}| ConvertTo-HTML -head $a | out-file "C:\Test.htm"

我得到了这个输出,它们在同一列中:

<tr><td>2016.07.20 1</td></tr>
<tr><td>2016.08.19 6</td></tr>
<tr><td>2016.08.20 6</td></tr>

我需要将值放在不同的列中:

<tr><td>2016.07.20</td><td>1</td></tr>
<tr><td>2016.08.19</td><td>6</td></tr>
<tr><td>2016.08.20</td><td>6</td></tr>

很遗憾,我无法找到解决此问题的示例。 请问有人可以帮忙吗? 如何在不同的列中添加值?

【问题讨论】:

  • 用谷歌搜索你的问题标题时,排名靠前的结果有什么问题?喜欢PowerShell Build a 2D HTML tablePowershell: Display array-members in ConvertTo-HTML
  • $dates 中的对象有哪些“列”?它只是以空格分隔的字符串吗?来自 csv 的对象?
  • @MathiasR.Jessen - 它只是字符串的二维数组。
  • @wOxxOm 在这两个示例中都有“-Header 'OU',...”或“select ComputerName -ExpandProperty Disks”。但是我的数组很简单,没有标题,所有项目都是这样的: $dates[0][0] = 2016.07.20 ; $dates[0][1] = 1 ; $dates[1][0] = 2016.08.19 ; $dates[1][1] = 6 ...

标签: html arrays powershell multidimensional-array


【解决方案1】:

手动连接数组:

'<tr>' + (
    ($dates | %{
        '<td>' + ($_ -join '</td><td>') + '</td>'
    }) -join "</tr>`n<tr>"
) + '</tr>'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-10
    • 2014-08-25
    • 1970-01-01
    相关资源
    最近更新 更多