0

因此,使用此链接上的答案:

使用 C# 从 DataTable 创建 HTML

我成功地将数据表转换为 HTML,并在我的电子邮件中显示为表格...

我知道必须有一个地方可以放置在单元格周围添加网格线的样式,但我终其一生都找不到合适的位置。我已经成功地在整个桌子周围添加了一个边框但是......

DataTable dt = new DataTable();
sdaGetValidation.Fill(dt);   

StringBuilder sb = new StringBuilder();
sb.AppendLine("<html>");
sb.AppendLine("\t" + "<body>");
sb.AppendLine("\t\t" + "<table>");
sb.Append("<table border='1px' solid line black cellpadding='5' cellspacing='0' ");
sb.Append("style='border: solid 1px Silver; font-size: x-small;'>");

sb.Append("\t\t" + "<tr>");

foreach (DataColumn dc in dt.Columns)
{
    sb.AppendFormat("<td>{0}</td>", dc.ColumnName);
}

sb.AppendLine("<tr>");

foreach (DataRow dr in dt.Rows)
{
    sb.Append("\t\t\t" + "<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("\t\t\t" + "</table>");
sb.AppendLine("\t" + "</body>");
sb.AppendLine("</html>");

MessageBox.Show(sb.ToString());

我不确定是否有办法重新整理旧答案,所以如果有办法这样做,我深表歉意......

不是一个 HTML 人,所以我觉得这对于比我更了解它的人来说应该是一个轻松的胜利。

我在这条线上添加了“黑色实线”:

 sb.Append("<table border='1px' solid line black cellpadding='5' cellspacing='0' ")

但没有快乐....

4

1 回答 1

2

只需在生成表格单元格的位置添加内联样式即可。

sb.AppendFormat("<td style=\"border:solid 1px black\">{0}</td>", cellValue);
于 2016-02-05T00:28:10.430 回答