【问题标题】:Create HTML Table in C# with foreach loop使用 foreach 循环在 C# 中创建 HTML 表
【发布时间】:2015-08-27 21:23:54
【问题描述】:

我想用我的 c# 程序创建一个 HTML 表格。

我试过了:

internal string CreateMailBody(mailObj dataObj)
  {
      string body = string.Empty;
      body +=
          "Dear all, there is my new table:" +
          "TableNo: " + dataObj.Obj.Table.TableNumber+ "<br /> <br />";
      body += "<table border='1'><tr><th>Line No</th><th>Table</th><th>Description</th><th>Count</th><th>Met</th><th>something</th></tr>";
      foreach (var item in dataObj.Table.TableLineCollection)
      {
          body += "<tr><td>" + item.LineNumber +"</td>";
          body += "<tr><td>" + item.Table+"</td>";
          body += "<tr><td>" + item.Description+"</td></tr>";
      }
      return body;
  }

它会为此提供更好的解决方案吗?

【问题讨论】:

  • 什么会提供更好的解决方案?
  • 创建 HTML 表格...我不知道使用 stringbuilder 是否更好
  • 这段代码在什么方面不起作用?它在哪里失败?不清楚你在问什么或问题是什么。
  • 你可以在循环之后使用结束标签&lt;/table&gt;
  • 您使用了大量的字符串连接。至少一个 StringBuilder 会更好。

标签: c# html-table


【解决方案1】:

您可以使用 AppendFormat 方法和字符串文字(@ in from a string,因此您可以编写多行)混合使用 StringBuilder。

StringBuilder body = new StringBuilder();
body.AppendFormat (
    @"Dear all, there is my new table:
    TableNo: {0} <br /> <br />
    <table border='1'><tr><th>Line No</th><th>Table</th><th>Description</th><th>Count</th><th>Met</th><th>something</th></tr>"
    , dataObj.Obj.Table.TableNumber);
foreach (var item in dataObj.Table.TableLineCollection)
{
    body.AppendFormat(
    @"<tr><td> {0}</td>
    <tr><td> {1}</td>
    <tr><td> {2}</td></tr>",
    item.LineNumber, item.Table, item.Description);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-06
    • 2017-01-29
    • 1970-01-01
    • 2016-03-24
    • 1970-01-01
    • 1970-01-01
    • 2021-05-30
    • 2016-03-09
    相关资源
    最近更新 更多