使用 Header.vb.net 以表格格式发送到电子邮件(Outlook) [英] Send to Email(Outlook) in a table format with Header.vb.net

查看:49
本文介绍了使用 Header.vb.net 以表格格式发送到电子邮件(Outlook)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我上一个问题的延续 如何使用 vb.net 将 SQL Server 数据库中的选定项目发送到电子邮件(Outlook)

This is a continuation from my previous question How to send to email (outlook) the selected items in SQL Server database using vb.net

现在我可以发送了,但是格式不太好理解,所以我想把数据以表格格式发送到电子邮件中,并带有标题,这样很容易理解.

Now I can send it but the format is not easy to understand so I want to send data to email in table format with header, So that it is easy to understand.

这是我现在所拥有的:

'load the equipment on schedule on the 2nd table
Public Sub OnSchedule()
    Dim conn As New SqlConnection("SERVER=L4SMTDB01\SMTDBS02;database = SMT_IT; user=sa;pwd=qwerty; ")

    conn.Open()
    Dim cmd As SqlCommand = conn.CreateCommand
    cmd.CommandText = String.Format("select PatientName,Gender,ScheduleDate,PersonInCharge from " _
    & "Schedule where ScheduleDate = CONVERT(date,getdate()) order by ScheduleDate")
    Dim dr As SqlDataReader = cmd.ExecuteReader()
    If dr.HasRows Then
        Dim dtSerial As New DataTable
        dtSerial.Load(dr)
        dgvOnSchedule.DataSource = dtSerial
    Else
        MsgBox("no data")

    End If
    dr.Close()
    conn.Close()
End Sub


'send email

Public Sub sendEmail()
    Dim oMail As New SmtpMail("TryIt")
    Dim oSmtp As New SmtpClient()
    oMail.To = New AddressCollection("emil@calcomp.co.th")
   oMail.Cc = New AddressCollection("emil@calcomp.co.th,chokchai@calcomp.co.th")
    oMail.Subject = "Patient Schedule today"

    'send to email not in the table.
    Dim sb As New System.Text.StringBuilder()
    For Each row As DataGridViewRow In dgvOnSchedule.Rows
        For Each cell As DataGridViewCell In row.Cells
            sb.Append(cell.Value)
            sb.Append("||")
        Next
    Next
    oMail.TextBody = "" & sb.ToString()
    Dim oServer As New SmtpServer("mailpe.calcomp.co.th")
    Try
        oSmtp.SendMail(oServer, oMail)
        MessageBox.Show("send to email success")
    Catch ex As Exception
        MessageBox.Show("no success")
    End Try
End Sub
End Class

推荐答案

我在电子邮件方法中编辑我的代码如下:我将 sb 的值放在表中.

I edit my code in Email Methods as below: I put the value of sb inside the table.

'send email method
Public Sub sendEmail()
    Dim oMail As New SmtpMail("TryIt")
    Dim oSmtp As New SmtpClient()
    oMail.HtmlBody = True
    oMail.To = New AddressCollection("emil@calcomp.co.th")
    oMail.Cc = New AddressCollection("emil@calcomp.co.th,chokchai@calcomp.co.th")
    oMail.Subject = "FIXTURE ON SCHEDULE"

    Dim sb As New StringBuilder("<table width='1000px' align='center' border='1' cellpadding='20' cellspacing='0' style='border'top:5px solid white;> " & _
                              "  <tr><th>PatientName</th> <th>Gender</th> <th>ScheduleDate</th> <th>PersonIncharge")
    For Each row As DataGridViewRow In dgvOnSchedule.Rows

        sb.Append("<tr>")
        For Each cell As DataGridViewCell In row.Cells
            sb.Append("<td>")
            sb.Append(cell.Value)
            sb.Append("</td>")
        Next
        sb.Append("</tr>")
    Next
    sb.Append("</table>")
    oMail.HtmlBody = sb.ToString()
    Dim oServer As New SmtpServer("mailpe.calcomp.co.th")
    Try
        oSmtp.SendMail(oServer, oMail)
        MessageBox.Show("send to email success")
    Catch ex As Exception
        MessageBox.Show("no success")
    End Try
End Sub

这篇关于使用 Header.vb.net 以表格格式发送到电子邮件(Outlook)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆