我有一个CSV报告,我想发送电子邮件消息在一个漂亮的表。
My CSV file:
Blah1|blah2|blah3|blah4
Abc |def |ghi |ijk
我的代码$file= import-csv c:file.csv | convertto-html
Send-emailmessage -smtpserver “blah” -body $([string]$($file)) -subject “blah”
在我的评论中,这个问题可能是因为你的表的边框样式不可见,这通常是在你的CSS中设置的。
有几点需要注意,没有Send-EmailMessage
这样的cmdlet,您可能指的是Send-MailMessage
。此外,您应该使用-BodyAsHTML
开关,否则邮件将是纯文本(不确定这是否是强制性的)。
如果你想了解更多关于如何使你的桌子更漂亮,我会推荐w3schools网站,这是非常友好的。
最后一点要注意,如果您计划使用斑马条纹表,您应该知道许多邮件客户端都是而不是与nth-child(even)
兼容,并且作为解决方案,您应该循环偶数或奇数行以替换CSS类的<td>
。
试一试:
$css = @'
<style>
* {
font-family: Calibri, sans-serif;
padding: 10px;
margin: 0px;
text-align: left;
font-size: 20px;
}
table {
border: 1px solid black;
width: 100%;
border-collapse: collapse;
}
td, th {
border: 1px solid black;
}
</style>
'@
[string]$html = Import-Csv c:file.csv | ConvertTo-Html -PreContent $css
Send-MailMessage -SMTPServer blah -Body $html -Subject blah -BodyAsHTML