asp.net c#将数据集中的数据转换为电子邮件正文?

从数据集到电子邮件正文的最佳方式是什么?

我有一个.net控制台应用程序,根据存储过程的结果发送电子邮件通知,并想知道从SQL数据到电子邮件正文的最佳方式?

带有颜色和字体的html主体是最好的,但纯文本也很好。

谢谢。

怎么样:

  1. 参考System.Web(使用System.Web.UI.WebControls添加;)
  2. 实例化DataGrid或GridView或您喜欢的任何输出
  3. 绑定DataTable
  4. 渲染为字符串 – 使用类似的东西

    var buffer = new StringBuilder(); var tw = new HtmlTextWriter(new StringWriter(buffer))) datagrid.RenderControl(tw); var emailbodyHtmlPart = buffer.ToString(); 
  5. 对DataSet中的每个DataTable执行此操作
  6. 将结果添加到电子邮件的html正文中

当然,这不是经过测试,但原则上应该有效。

 static string getHTML(DataTable dt) { StringBuilder myBuilder = new StringBuilder(); myBuilder.Append(""); myBuilder.Append(""); foreach (DataColumn myColumn in dt.Columns) { myBuilder.Append(""); } myBuilder.Append(""); foreach (DataRow myRow in dt.Rows) { myBuilder.Append(""); foreach (DataColumn myColumn in dt.Columns) { myBuilder.Append(""); } myBuilder.Append(""); } myBuilder.Append("
"); myBuilder.Append(myColumn.ColumnName); myBuilder.Append("
"); myBuilder.Append(myRow[myColumn.ColumnName].ToString()); myBuilder.Append("
"); return myBuilder.ToString(); }