0

我正在开发一个 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;
}

如何做到这一点?请

4

1 回答 1

0

你只能像这样追加,

sb.AppendLine(tab + tab + "<table style=\"color:green;\">");

如果您喜欢上述内容,您是否没有得到预期的输出?试试就知道了......

于 2013-11-13T06:37:46.370 回答