我正在尝试在SQL Server中运行查询以生成表格格式的数据并添加html标记,以便当我将此输出写入邮件时,它应该以表格格式生成数据。将其保存到.html文件并在浏览器中打开时,生成的HTML似乎可以正常工作。但是它只是在邮件中显示为带有html代码的纯文本。请帮忙!!
下面是我在SQL Server中创建的函数。我正在发送此输出,以使用Markit EDM工具在电子邮件中显示。
INSERT INTO Items (Id, ItemId) VALUES (?, ?)
预期结果(表格格式)
CREATE FUNCTION dbo.<Function_Name> ()
RETURNS VARCHAR(max)
AS
BEGIN
DECLARE @xml NVARCHAR(MAX)
DECLARE @body NVARCHAR(MAX)
SET @xml = CAST((SELECT <Column1> AS 'td','', <Column2> AS 'td', '', <Column3> AS 'td'
FROM <table Name>
FOR XML PATH('tr'), ELEMENTS ) AS NVARCHAR(MAX))
SET @body ='<html><body><H3>Contact Info</H3>
<table border =1>
<tr>
<th> Solution Name </th>
<th> Start Time </th>
<th> Run Time </th></tr>'
SET @body = @body + @xml +'</table></body></html>'
RETURN @Body
END
邮件中的实际结果仅显示纯html文本而不是表格。
<html><body><H3>Contact Info</H3>
<table border=1>
<tr>
<th> Solution Name </th>
<th> Start Time </th>
<th> Run Start </th>
</tr>
<tr>
<td>Test maxrun Solution</td>
<td>2019-01-11T11:58:48.077</td>
<td>00:00:00</td>
</tr>
<tr>
<td>Test maxrun Solution1</td>
<td>2019-01-09T10:12:21.643</td>
<td>01:46:26</td>
</tr>
<tr>
<td>Test maxrun Solution2</td>
<td>2018-12-28T14:50:16.270</td>
<td>21:08:32</td>
</tr>
</table>
</body>
</html>