Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 以邮件头形式发送datagridview_C#_Winforms_Email_Datagridview - Fatal编程技术网

C# 以邮件头形式发送datagridview

C# 以邮件头形式发送datagridview,c#,winforms,email,datagridview,C#,Winforms,Email,Datagridview,这是我以电子邮件形式发送datagridview的代码。这段代码只需在datagridview中发送数据即可 请指导我如何在其中添加表头。我希望电子邮件作为整个表格发送,包括表格标题 var client = new SmtpClient("smtp.gmail.com", 587); client.EnableSsl = true; client.Credentials = new NetworkCredential("from_mail", "password"); var mail =

这是我以电子邮件形式发送datagridview的代码。这段代码只需在datagridview中发送数据即可

请指导我如何在其中添加表头。我希望电子邮件作为整个表格发送,包括表格标题

var client = new SmtpClient("smtp.gmail.com", 587);
client.EnableSsl = true;
client.Credentials = new NetworkCredential("from_mail", "password");

var mail = new MailMessage();
mail.From = new MailAddress("from_mail");
mail.To.Add("to_mail");
mail.IsBodyHtml = true;
mail.Subject = "test";

string mailBody = "<table width='100%' style='border:Solid 1px Black;'>";

foreach (DataGridViewRow row in dataGridView2.Rows)
{
    mailBody += "<tr>";
    foreach (DataGridViewCell cell in row.Cells)
    {
        mailBody += "<td>" + cell.Value + "</td>";
    }
    mailBody += "</tr>";
}
mailBody += "</table>";

//your rest of the original code
mail.Body = mailBody;
client.Send(mail);
MessageBox.Show("mail send");
this.Close();
var-client=newsmtpclient(“smtp.gmail.com”,587);
client.enablesl=true;
client.Credentials=新的网络凭据(“来自邮件”、“密码”);
var mail=new MailMessage();
mail.From=新邮件地址(“From_mail”);
mail.To.Add(“To_mail”);
mail.IsBodyHtml=true;
mail.Subject=“test”;
字符串mailBody=“”;
foreach(dataGridView2.Rows中的DataGridViewRow行)
{
邮件正文+=“”;
foreach(row.Cells中的DataGridViewCell单元格)
{
邮件正文+=“”+单元格.值+“”;
}
邮件正文+=“”;
}
邮件正文+=“”;
//您的原始代码的其余部分
mail.Body=mailBody;
客户端。发送(邮件);
MessageBox.Show(“邮件发送”);
这个。关闭();

要将
DataGridView
转换为
HTML
以电子邮件形式发送,请使用以下功能:

private StringBuilder DataGridtoHTML(DataGridView dg)
{
  StringBuilder strB = new StringBuilder();

  //create html & table
  strB.AppendLine("<html><body><center><" + 
                "table border='1' cellpadding='0' cellspacing='0'>");
  strB.AppendLine("<tr>");

  //create table header
  for (int i = 0; i < dg.Columns.Count; i++)
  {
     strB.AppendLine("<td align='center' valign='middle'>" + 
                    dg.Columns[i].HeaderText + "</td>");
  }

  //Close the header row
  strB.AppendLine("</tr>");
  //create table body
  for (int i = 0; i < dg.Rows.Count; i++)
  {
    strB.AppendLine("<tr>");
    foreach (DataGridViewCell dgvc in dg.Rows[i].Cells)
        {
            strB.AppendLine("<td align='center' valign='middle'>" + 
                            dgvc.Value.ToString() + "</td>");
        }
    strB.AppendLine("</tr>");   
  }

  //table footer & end of html file   
  strB.AppendLine("</table></center></body></html>");
  return strB;
}
private StringBuilder DataGridtoHTML(DataGridView dg)
{
StringBuilder strB=新的StringBuilder();
//创建html&表格
strB.附录行(“”);
strB.附录行(“”);
//创建表格标题
对于(int i=0;i