我正在开发一个Windows服务应用程序,它通过(SMTP)电子邮件发送数据库表的N行作为HTML表,我收到的邮件没有列和行,我只是收到了来自表。
这是我用来将数据库表转换为HTML表的代码:
public StringBuilder CreateHtmlTable(DataTable dt)
{
string tab = "\t";
StringBuilder sb = new StringBuilder();
sb.AppendLine("<html>");
sb.AppendLine(tab + "<body>");
sb.AppendLine("<p>This is The test mail</p>");
sb.AppendLine(tab + tab + "<table>");
sb.AppendLine(tab + tab + tab + "<tr>");
foreach (DataColumn dc in dt.Columns)
{
sb.AppendFormat("<th>{0}</th>", dc.ColumnName);
}
sb.AppendLine("</tr>");
foreach (DataRow dr in dt.Rows)
{
sb.Append(tab + tab + tab + "<tr>");
foreach (DataColumn dc in dt.Columns)
{
string cellValue = dr[dc] != null ? dr[dc].ToString() : "";
sb.AppendFormat("<td>{0}</td>", cellValue);
}
sb.AppendLine("</tr>");
}
sb.AppendLine(tab + tab + "</table>");
sb.AppendLine(tab + "</body>");
sb.AppendLine("</html>");
return sb;
}
如何实现这一目标?
答案 0 :(得分:0)
你可以像这样追加na,
sb.AppendLine(tab + tab + "<table style=\"color:green;\">");
如果你喜欢上面的话,你没有得到预期的输出吗?试试看......