我正在开发一个 Windows 服务应用程序,该应用程序通过(SMTP)电子邮件将数据库表的 N 行作为 HTML 表发送,我收到的邮件没有列和行,我刚收到表中的文本。
这是我用来将 DB 表转换为 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;
}
如何做到这一点?请