我有一个有序的哈希表我正在使用以下代码转换为HTML:
$VFront = $VPLEX_Front | % {
$cluster = $_ -split ' +'
$hash = [ordered]@{
'Cluster Name' = $cluster[0]
'Total Storage Views' = $cluster[1]
'Unhealthy Storage Views' = $cluster[2]
'Total Registered Initiators' = $cluster[3]
'Total Ports' = $cluster[4]
'Total Exported Volumes' = $cluster[5]
'Total ITLs' = $cluster[6]
}
New-Object -Type PSCustomObject -Property $hash
} | ConvertTo-Html -Fragment
此表将成为更大的html报告的一部分(如果重要的话,表格中的表格)。这样可以正常工作,但细胞有点紧贴以获得舒适感。这是输出:
我想在列之间添加一些间距,以便更容易阅读。
我尝试在ConvertTo-Html之后使用-Head并使用单元格填充设置样式,但它只是以纯文本形式打印html代码。
答案 0 :(得分:1)
您正在上面的代码中创建HTML片段。如果您查看ConvertTo-HTML
的{{3}}文章,您将看到无法将-Head和-Fragment参数组合在一起,因为它们来自不同的参数集。
在同一页面上查看-Fragment
的详细信息,请阅读
仅生成HTML表格。片段:省略了HTML,HEAD,TITLE和BODY标记。
可能的解决方案
不确定这是否是答案的最佳机芯,但您可以在将html文本放入最终位置之前对其进行编辑。
$html = $html -replace "\<table\>",'<table cellpadding="10">'
$html
是您的代码段的输出。这将为表添加一些填充,您可以根据需要进行调整。
<强>比较强>
首先显然是填充更改的示例。
答案 1 :(得分:0)
标签属性(<table cellpadding="10">
)不应该在此日期和时间用于格式化。请改用CSS。您可以将表片段插入到HTML模板中,如下所示:
@"
<html>
<head>
<title>test</title>
<style type='text/css'>
table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
th, td {
padding: 5px;
}
</style>
</head>
<body>
$VFront
</body>
</html>
"@ | Out-File 'C:\path\to\your.html'
<强>示例:强>
表padding: 0;
:
表padding: 5px;
:
你也可以用CSS做其他时髦的东西,比如交替行颜色:
tr:nth-child(even) {
background: lightgray;
}
tr:nth-child(odd) {
background: white;
}