【发布时间】:2014-03-09 23:57:37
【问题描述】:
我的网站上有一个区域,用户可以上传 Excel 文件并在服务器上进行处理。同时,在将 excel 文件处理成数据表的同时,程序正在构建一个报告以返回给用户,让他们知道我们成功添加了哪些部分,哪些没有添加。
我正在做的是通过电子邮件发送报告并在屏幕上以弹出窗口的形式显示报告,以便用户可以立即查看添加了哪些部分以及拒绝了哪些部分。
报告的格式在屏幕上看起来不错,但在电子邮件中看起来不太好。
有人可以看一下这段代码并告诉我如何内联我的样式以使其在电子邮件中也看起来不错吗?
--守则--
static async Task<string> BuildTableReportAsync(DataTable dt, string caption)
{
return await Task.Run(() =>
{
StringBuilder sb = new StringBuilder();
sb.Append("<html><body><table class='reportWrapperTable' cellspacing='0'cellpadding='4' rules='rows' style='color:#1f2240;background-color:#ffffff'><thead style='100%;color:#ffffff;background-color:#1f2240;font-weight:bold'><tr>");
foreach (DataColumn c in dt.Columns)
{
sb.AppendFormat("<th scope='col'>{0}</th>", c.ColumnName);
}
sb.AppendLine("</tr></thead><caption style='background-color:#ffffff;color:#1f2240;,margin-bottom:1em;font-size:18pt;width:100%;border:0'>" + caption + "</caption><tbody>");
foreach (DataRow dr in dt.Rows)
{
sb.Append("<tr>");
foreach (object o in dr.ItemArray)
{
sb.AppendFormat("<td>{0}</td>", HttpUtility.HtmlEncode(o.ToString()));
}
sb.AppendLine("</tr>");
}
sb.AppendLine("</tbody></table></body></html>");
dt.Dispose();
return sb.ToString();
});
}
--在浏览器中查看表格时的第一个快照结果--
--查看电子邮件中的表格时的第二个快照结果。这是标题和标题看起来很糟糕的那个。--
这是 HTML 代码
<table class="reportWrapperTable" cellspacing="0" cellpadding="4" rules="rows" style="color:#1f2240;background-color:#ffffff"><thead style="100%;color:#ffffff;background-color:#1f2240;font-weight:bold"><tr><th scope="col">Number</th><th scope="col">Name</th><th scope="col">Length</th><th scope="col">Width</th><th scope="col">Height</th><th scope="col">PackageQty</th><th scope="col">UnitMeasure</th><th scope="col">Cost</th><th scope="col">Profile</th><th scope="col">Category</th></tr></thead><caption style="background-color:#ffffff;color:#1f2240;,margin-bottom:1em;font-size:18pt;width:100%;border:0">AlumCloud Parts Not Added Report</caption><tbody>
<tr><td>OB122</td><td>FR 2F OB OP S-CL F-B/FG400</td><td>0</td><td>75.5</td><td>85.75</td><td>1</td><td>Each</td><td></td><td>1 3/4 x 4</td><td>Door Frame (Package)</td></tr>
<tr><td>OB612</td><td>FR 1FT OB OP S-CL LOK/FG450</td><td>0</td><td>39.5</td><td>126</td><td>1</td><td>Each</td><td>0</td><td>1 3/4 x4 1/2</td><td>Door Frame (Package)</td></tr>
<tr><td>CD212</td><td>NS OP CAL 3' x 7' DO /BR 9.5</td><td>0</td><td>36</td><td>84</td><td>1</td><td>Each</td><td>0</td><td>N/A</td><td>Door Leaf(Package)</td></tr>
</tbody></table>
【问题讨论】:
-
如果您需要有关 HTML 电子邮件布局的帮助,最好只发布电子邮件客户端看到的代码。
-
我已经发布了html代码。