Advertisement
stevennathaniel

VB .Net : Buat Report, Export PDF, Kirim Melalui E-Mail

Jan 30th, 2017
568
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 6.89 KB | None | 0 0
  1. Imports System.Console
  2.  
  3. Imports System
  4.  
  5. Imports System.IO
  6.  
  7. Imports System.Data.SqlClient
  8.  
  9. Imports System.Data.Odbc
  10.  
  11. Imports System.Data.DataRowExtensions
  12.  
  13. Imports System.Data.DataTableExtensions
  14.  
  15. Imports System.Data.DataTableCollection
  16.  
  17. Imports System.Linq
  18.  
  19. Imports System.Xml
  20.  
  21. Imports System.Net.Mail
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29. Module Module1
  30.  
  31.     Sub Main()
  32.  
  33.  
  34.         Dim tabelPegawai As DataTable = New DataTable("pegawai5")
  35.  
  36.         Dim columnPegawai As DataColumn
  37.  
  38.         Dim rowPegawai As DataRow
  39.  
  40.  
  41.         Dim koneksi As New OdbcConnection("DSN=latihan")
  42.  
  43.  
  44.         'Membuat kolom idpegawai5
  45.  
  46.         columnPegawai = New DataColumn
  47.  
  48.         columnPegawai.DataType = System.Type.GetType("System.Int32")
  49.  
  50.         columnPegawai.ColumnName = "idpegawai5"
  51.  
  52.         columnPegawai.Unique = True
  53.  
  54.         tabelPegawai.Columns.Add(columnPegawai)
  55.  
  56.  
  57.  
  58.  
  59.         'Membuat kolom idpegawai
  60.         columnPegawai = New DataColumn
  61.  
  62.         columnPegawai.DataType = System.Type.GetType("System.String")
  63.  
  64.         columnPegawai.ColumnName = "idpegawai"
  65.  
  66.         tabelPegawai.Columns.Add(columnPegawai)
  67.  
  68.  
  69.  
  70.  
  71.         ' Membuat kolom namapegawai
  72.  
  73.         columnPegawai = New DataColumn
  74.  
  75.         columnPegawai.DataType = System.Type.GetType("System.String")
  76.  
  77.         columnPegawai.ColumnName = "namapegawai"
  78.  
  79.         tabelPegawai.Columns.Add(columnPegawai)
  80.  
  81.  
  82.  
  83.         ' Membuat kolom Alamat
  84.  
  85.         columnPegawai = New DataColumn
  86.  
  87.         columnPegawai.DataType = System.Type.GetType("System.String")
  88.  
  89.         columnPegawai.ColumnName = "alamat"
  90.  
  91.         tabelPegawai.Columns.Add(columnPegawai)
  92.  
  93.  
  94.         ' Membuat kolom alamatemail
  95.  
  96.         columnPegawai = New DataColumn
  97.  
  98.         columnPegawai.DataType = System.Type.GetType("System.String")
  99.  
  100.         columnPegawai.ColumnName = "alamatemail"
  101.  
  102.         tabelPegawai.Columns.Add(columnPegawai)
  103.  
  104.  
  105.  
  106.         tabelPegawai.PrimaryKey = New DataColumn() {tabelPegawai.Columns(0)}
  107.  
  108.         Dim dAdapter1 As OdbcDataAdapter = New OdbcDataAdapter("SELECT idpegawai5,idpegawai,namapegawai,alamat,alamatemail FROM pegawai5", koneksi)
  109.  
  110.         dAdapter1.Fill(tabelPegawai)
  111.  
  112.         tabelPegawai.AcceptChanges()
  113.  
  114.  
  115.  
  116.  
  117.  
  118.         ' Membuat tabel tabelBayangan
  119.  
  120.         Dim tabelBayangan As DataTable = New DataTable("tabelBayangan")
  121.  
  122.         Dim columnBayangan As DataColumn
  123.  
  124.         Dim rowBayangan As DataRow
  125.  
  126.  
  127.  
  128.         ' Membuat kolom idpegawai5
  129.  
  130.         columnBayangan = New DataColumn
  131.  
  132.         columnBayangan.DataType = System.Type.GetType("System.Int32")
  133.  
  134.         columnBayangan.ColumnName = "idpegawai5"
  135.  
  136.         columnBayangan.Unique = True
  137.  
  138.         tabelBayangan.Columns.Add(columnBayangan)
  139.  
  140.  
  141.  
  142.         ' Membuat kolom idpegawai
  143.  
  144.         columnBayangan = New DataColumn
  145.  
  146.         columnBayangan.DataType = System.Type.GetType("System.String")
  147.  
  148.         columnBayangan.ColumnName = "idpegawai"
  149.  
  150.         tabelBayangan.Columns.Add(columnBayangan)
  151.  
  152.  
  153.  
  154.  
  155.         ' Membuat kolom namapegawai
  156.  
  157.         columnBayangan = New DataColumn
  158.  
  159.         columnBayangan.DataType = System.Type.GetType("System.String")
  160.  
  161.         columnBayangan.ColumnName = "namapegawai"
  162.  
  163.         tabelBayangan.Columns.Add(columnBayangan)
  164.  
  165.  
  166.  
  167.         ' Membuat kolom alamat
  168.  
  169.         columnBayangan = New DataColumn
  170.  
  171.         columnBayangan.DataType = System.Type.GetType("System.String")
  172.  
  173.         columnBayangan.ColumnName = "alamat"
  174.  
  175.         tabelBayangan.Columns.Add(columnBayangan)
  176.  
  177.  
  178.  
  179.         ' Membuat kolom alamatemail
  180.  
  181.         columnBayangan = New DataColumn
  182.  
  183.         columnBayangan.DataType = System.Type.GetType("System.String")
  184.  
  185.         columnBayangan.ColumnName = "alamatemail"
  186.  
  187.         tabelBayangan.Columns.Add(columnBayangan)
  188.  
  189.  
  190.         ' Set Primary Key untuk tabelBayangan
  191.  
  192.         tabelBayangan.PrimaryKey = New DataColumn() {tabelBayangan.Columns(0)}
  193.  
  194.         ' Simpan perubahan ke tabel bayangan
  195.         tabelBayangan.AcceptChanges()
  196.  
  197.  
  198.  
  199.         For i As Integer = 1 To 6
  200.  
  201.             Dim query = From pegawai5 In tabelPegawai.AsEnumerable() Where pegawai5("idpegawai5") = i Select pegawai5
  202.  
  203.  
  204.             tabelBayangan = query.CopyToDataTable
  205.  
  206.  
  207.             For Each rowBayangan In tabelBayangan.Rows
  208.  
  209.                 Dim penulis As New System.IO.StringWriter
  210.  
  211.                 Dim namaFile As String
  212.  
  213.                 Dim alamatEmail As String
  214.  
  215.                 Dim e_mail As New MailMessage()
  216.  
  217.                 Dim smtp_server As New SmtpClient
  218.  
  219.                 Dim attachment As System.Net.Mail.Attachment
  220.  
  221.                 Dim alamatSuratElektronik As String
  222.  
  223.  
  224.                 Console.WriteLine("{0} | {1} | {2} | {3}", rowBayangan(1), rowBayangan(2), rowBayangan(3), rowBayangan(4))
  225.  
  226.  
  227.                 Console.WriteLine()
  228.  
  229.                 Console.WriteLine()
  230.  
  231.                 tabelBayangan.TableName = "tabelBayangan"
  232.  
  233.                 namaFile = rowBayangan(1)
  234.  
  235.                 alamatEmail = rowBayangan(4)
  236.  
  237.                 tabelBayangan.WriteXml(penulis, XmlWriteMode.WriteSchema, True)
  238.  
  239.                 Console.WriteLine(penulis)
  240.  
  241.                 tabelBayangan.WriteXml("D:\StevenNathaniel\Proyek VB NET\AplikasiConsoleMySQL23\AplikasiConsoleMySQL23\AplikasiConsoleMySQL23\bin\Debug\data.xml", XmlWriteMode.WriteSchema, True)
  242.  
  243.  
  244.                 ' Buat export data di file XML menjadi file PDF
  245.  
  246.                 Dim laporan As New XtraReport1
  247.  
  248.                 laporan.ExportToPdf("D:\StevenNathaniel\Proyek VB NET\AplikasiConsoleMySQL23\AplikasiConsoleMySQL23\AplikasiConsoleMySQL23\bin\Debug\" & namaFile & ".pdf")
  249.  
  250.  
  251.                 ' Mengirimkan file PDF melalui email ke alamat email yg sudah tersimpan di tabel MySQL
  252.  
  253.                 smtp_server.UseDefaultCredentials = False
  254.  
  255.                 smtp_server.Credentials = New Net.NetworkCredential("[email protected]", "akusenangkamusenang")
  256.  
  257.                 smtp_server.Port = 587
  258.  
  259.                 smtp_server.EnableSsl = True
  260.  
  261.                 smtp_server.Host = "smtp.gmail.com"
  262.  
  263.                 attachment = New System.Net.Mail.Attachment("D:\StevenNathaniel\Proyek VB NET\AplikasiConsoleMySQL23\AplikasiConsoleMySQL23\AplikasiConsoleMySQL23\bin\Debug\" & namaFile & ".pdf")
  264.  
  265.  
  266.                 e_mail = New MailMessage()
  267.  
  268.  
  269.                 e_mail.From = New MailAddress("[email protected]")
  270.  
  271.                 alamatSuratElektronik = alamatEmail
  272.  
  273.                 e_mail.To.Add(alamatSuratElektronik)
  274.  
  275.                 e_mail.Subject = "Test Kirim Banyak E-Mail"
  276.  
  277.                 e_mail.IsBodyHtml = False
  278.  
  279.                 e_mail.Body = "Data Pegawai Terlampir"
  280.  
  281.                 e_mail.Attachments.Add(attachment)
  282.  
  283.                 smtp_server.Send(e_mail)
  284.  
  285.                 Console.WriteLine("E-Mail Telah Terkirim")
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.                 Console.WriteLine()
  293.  
  294.                 Console.WriteLine()
  295.  
  296.  
  297.  
  298.  
  299.  
  300.                 Console.ReadKey()
  301.  
  302.  
  303.  
  304.             Next rowBayangan
  305.  
  306.  
  307.  
  308.         Next i
  309.  
  310.  
  311.  
  312.  
  313.  
  314.     End Sub
  315.  
  316. End Module
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement