我有一个SQL查询的结果,如下所示:
$result1 | get-member
TypeName: System.Data.DataRow
Name MemberType Definition
---- ---------- ----------
. . .
DATE Property System.DateTime DATE {get;set;}
FCO Property System.String FCO {get;set;}
LS Property System.String LS {get;set;}
TCO Property System.UInt32 TCO {get;set;}
$result1
#multiple lines similar to this
DATE : 29/09/2015 00:00:00
LS : c-am1
TCO : 8059
FCO : 0
我需要把它变成一个数组:
$Data = @"
Date, LS, TCO, FCO
[the contents of the $result1 object goes here under the relevant headings]
[example]
29/09/2015,c-am1,8059,0
29/09/2015,c-am2,5985,3
"@
这样我就可以将其传递给ConvertTo-AdvHTML
函数https://community.spiceworks.com/scripts/show/2448-create-advanced-html-tables-in-powershell-convertto-advhtml
$Data = $Data | ConvertFrom-Csv
$HTML = $Data | ConvertTo-AdvHTML
我确信有一种简单的方法可以做到这一点,但找不到它。我怎么能这样做?
答案 0 :(得分:2)
您说您希望将数据放入数组中,然后在字符串中显示数据示例。如果您这样做是为了遵循ConvertTo-AdvHTML链接上的示例,那么这是一个不必要的步骤,因为您已经在result1中有一个对象数组。你需要做的就是这个;
$HTML = $result1 | ConvertTo-AdvHTML
您只需要向上面的代码添加任何转换为ConvertTo-AdvHTML的开关。 来自链接的示例中的第一步只是作者可以展示自包含的示例。
答案 1 :(得分:0)
我最终让这个工作的方式是:
$Data = @()
$Data += "DATE,LS,TCO,FCO"
$a=0
foreach($res in $result1)
{
$ed = $res.DATE
$ls = $res.LS
$tc = $res.TCO
$fc = $res.FCO
$Data += [string]"[row:white]$ed,$ls,$tc,$fc"
$a++
}
$Data = $Data | ConvertFrom-Csv
$html = $Data | ConvertTo-AdvHTML