如何在电子邮件中添加网格

本文关键字:添加 网格 电子邮件 | 更新日期: 2023-09-27 18:08:44

代码如下,请问如何将网格添加到邮件中

private void button1_Click(object sender, EventArgs e)
{
}
private void Form1_Load(object sender, EventArgs e)
{
    SqlConnection conn = new SqlConnection();
    conn.ConnectionString = @"Data Source=10.1.1.1;Initial Catalog=xxx;Integrated Security=True";
    SqlCommand command = new SqlCommand();
    command.Connection= conn;
    command.CommandText ="Select top 10 * from tablea";
    DataTable data = new DataTable();
    SqlDataAdapter adapter = new SqlDataAdapter(); 
    adapter.SelectCommand = command;
    adapter.Fill(data);
    gvSendEmail.DataSource = data;   
    try
    {
        MailMessage mail = new MailMessage();
        SmtpClient SmtpServer = new SmtpClient("10.1.1.11");
        mail.From = new MailAddress("xxxx@xxxxx", "xxxx");
        mail.To.Add("xxxxx@xxxxx.xxx");
        mail.Subject = "Test Mail";
        mail.Body = "This is test email";
        mail.Body += "Please check below data ";
        SmtpServer.Port = 25;
        SmtpServer.Credentials = new System.Net.NetworkCredential("xxxx", "xxxx");
        SmtpServer.EnableSsl = false;
        SmtpServer.Send(mail);
        MessageBox.Show("mail Send");
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.ToString());
    }
}

如何在电子邮件中添加网格

尝试如下内容:

private void btnSend_Click_1(object sender, EventArgs e)
 {
      string mailBody = "<table width ='100%' style ='border:Solid 1px Black;'>";
      foreach (DataGridViewRow row in dataGridView1.Rows) //Loop through DataGridView to get rows
      {
            mailBody += "<tr>";
            foreach (DataGridViewCell cell in row.Cells) //Loop through DataGridView to get cell value
            {
               mailBody += "<td stlye='color:blue;'>" +cell.Value + "</td>";
            }
            mailBody += "</tr>";
      }
      mailBody += "</table>";
      //Finally rest of the original code
      mail.IsBodyHtml = true; 
      mail.Body = mailBody;
      client.Send(mail); 
 }