Minggu, 09 Oktober 2011

Step by Step Menjadi Programmer Handal Dengan VB.NET

I.  Pengantar
Pada  artikel  sebelumnya  saya  membahas  bagaimana  membuat  chart  pada  form
dengan  menggunakan  OWC  11.  Dan  jika  pembaca  semua  sudah  berhasil  kini
saatnya  untuk  menerusi  ker  artikel  ini.  Bagaimana  kita  membuat  chart  pada  excel
file  dengan  vb.net  (mengeksport  data  dari  table  ke  excel  file  dan  membuat  chart

Seluruh  dokumen  di  IlmuKomputer.Com  dapat  digunakan,  dimodifikasi  dan
disebarkan  secara  bebas  untuk  tujuan  bukan  komersial  (nonprofit),  dengan  syarat
tidak  menghapus  atau  merubah  atribut  penulis  dan  pernyataan  copyright  yang
disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang,
kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.
Kuliah Berseri IlmuKomputer.Com
Copyright © 2003 IlmuKomputer.Com

Step By Step Menjadi Programmer Handal Dengan VB.Net XVII
Junindar

dengan  data  tersebut.  Artikel  ini  menggunakan  Vb.Net  2003,  dan  juga  sudah   di
implementasikan  di  Vb  2005  express.  Dan  project  dari  artikel  ini  tersedia  pada
http://junindar.blogspot.com  So mari ikuti step-step dibawah ini.............
II.  Desain Form
Untuk  artikel  ini  kita  bisa  menggunakan  project  dari  artikel  sebelumnya,  ataupun
bisa  dengan  membuat  baru.  Jika  membuat  baru  tambahkan  1  buah  datagrid  dan  1
buah  button  pada  form  dan  design  seperti  ini.  Ubah  properties  button  seperti
berikut.
Name : btnExport
Text :Export

Sebelumnya  kita  akan  menambahkan  Ms  Excel  interop  pada  project  kita  dengan
cara  sebagai  berikut.  Klik  kanan  project  dan  pilih  Add  Reference,  maka  jendela
Add Refence akan tampil seperti dibawah.

Kuliah Berseri IlmuKomputer.Com
Copyright © 2003 IlmuKomputer.Com

Step By Step Menjadi Programmer Handal Dengan VB.Net XVII
Junindar

Lalu klik tab COM dan pada component name cari dan select MS Excel 11.0 Object
Library. Dan klik OK.
Sekarang saat nya kita masuk ke coding.

III.  Coding
Buka jendela code pada form dan ketik sintaks dibawah ini. Pada baris awal jendela
code.




Dan untuk deklarasi ketik sintaks dibawah









Sintaks dibawah ini untuk menampilkan data pada data grid.









Imports System.Data
Imports System.Data.OleDb
Imports System.io
Imports Microsoft.Office.Interop
#Region "Declaration"
    Dim objConnection As OleDbConnection
    Dim objCommand As OleDbCommand
    Dim objDataAdapter As OleDbDataAdapter
    Dim strSQL As String
    Dim objDataSet As New DataSet
    Dim objDataTable As New DataTable
    Dim MyConnection As New AccessData.DatabaseConnection
    Dim AlphaNum As Integer
    Dim Filename, Alphabets As String
    Dim chkexcel As Boolean
    Dim oexcel As Excel.Application
    Dim obook As Excel.Workbook
    Dim osheet As Excel.Worksheet
#End Region
Sub View_Data()
        objDataTable.Clear()
        strSQL = "select * from [Cat]"
        objCommand = New OleDbCommand
        objCommand.Connection = MyConnection.open
        objCommand.CommandType = CommandType.Text
        objCommand.CommandText = strSQL
        objDataAdapter = New OleDbDataAdapter(objCommand)
        objDataAdapter.Fill(objDataSet, "Mdt_Cat")
        MyConnection.close()
        objDataTable = objDataSet.Tables("Mdt_Cat")
        DataGrid1.DataSource = objDataTable
End Sub
Kuliah Berseri IlmuKomputer.Com
Copyright © 2003 IlmuKomputer.Com

Step By Step Menjadi Programmer Handal Dengan VB.Net XVII
Junindar




























Sintaks diatas berfungsi untuk mengkonvert number ke string (kolom pada excel)
  Sub Alphabet()
        Select Case AlphaNum
            Case 1
                Alphabets = "A"
            Case 2
                Alphabets = "B"
            Case 3
                Alphabets = "C"
            Case 4
                Alphabets = "D"
            Case 5
                Alphabets = "E"
            Case 6
                Alphabets = "F"
            Case 7
                Alphabets = "G"
            Case 8
                Alphabets = "H"
            Case 9
                Alphabets = "I"
            Case 10
                Alphabets = "J"
            Case 11
                Alphabets = "K"
            Case 12
                Alphabets = "L"
            Case 13
                Alphabets = "M"
            Case 14
                Alphabets = "N"
            Case 15
                Alphabets = "O"
            Case 16
                Alphabets = "P"
            Case 17
                Alphabets = "Q"
            Case 18
                Alphabets = "R"
            Case 19
                Alphabets = "S"
            Case 20
                Alphabets = "T"
            Case 21
                Alphabets = "U"
'bisa disambung sendiri
        End Select
Kuliah Berseri IlmuKomputer.Com
Copyright © 2003 IlmuKomputer.Com

Step By Step Menjadi Programmer Handal Dengan VB.Net XVII
Junindar








Sub Dbclose()
        'mengecek dan tutup excel application
        If chkexcel = True Then
            osheet = Nothing
            oexcel.Application.DisplayAlerts = False
            obook.Close()
            oexcel.Application.DisplayAlerts = True
            obook = Nothing
            oexcel.Quit()
            oexcel = Nothing
        End If
        ' End
End Sub

Sub Generate_Sheet()
        View_Data()
        osheet = oexcel.Worksheets(1)
        'Menganti nama Sheet
        osheet.Name = "Excel Charts"
        osheet.Range("A1:AZ400").Interior.ColorIndex = 2
        osheet.Range("A1").Font.Size = 12
        osheet.Range("A1").Font.Bold = True
        osheet.Range("A1:I1").Merge()
        osheet.Range("A1").Value = "Excel Automation With Charts"
        osheet.Range("A1").EntireColumn.AutoFit()

        'columns heading
        For i As Integer = 0 To objDataTable.Columns.Count - 1
            AlphaNum = i + 1
            Alphabet()
            osheet.Range(Alphabets & "3").Value =
objDataTable.Columns.Item(i).ToString
            osheet.Range(Alphabets & "3").BorderAround(8)
            osheet.Range(Alphabets & "3").EntireColumn.AutoFit()
        Next
        'format headings
        osheet.Range("A3:" & Alphabets & "3").Font.Color = RGB(255,
255, 255)
        osheet.Range("A3:" & Alphabets & "3").Interior.ColorIndex = 5
        osheet.Range("A3:" & Alphabets & "3").Font.Bold = True
        osheet.Range("A3:" & Alphabets & "3").Font.Size = 10

        'memasukkan data dari DB
        Dim R As Integer = 3
        Dim x As Integer
        Dim a, b, c As String

Kuliah Berseri IlmuKomputer.Com
Copyright © 2003 IlmuKomputer.Com

Step By Step Menjadi Programmer Handal Dengan VB.Net XVII
Junindar















For Each row As DataRow In objDataTable.Rows
            R = R + 1
            For i As Integer = 0 To objDataTable.Columns.Count - 1
                AlphaNum = i + 1
                Alphabet()
                osheet.Range(Alphabets & R).Value = row(i).ToString
                osheet.Range(Alphabets & R).BorderAround(8)
            Next i
        Next

        'Membuat object chart
        Dim oChart As Excel.Chart
        Dim MyCharts As Excel.ChartObjects
        Dim MyCharts1 As Excel.ChartObject
        MyCharts = osheet.ChartObjects
        'mensetting lokasi chart
        MyCharts1 = MyCharts.Add(150, 100, 400, 250)
        oChart = MyCharts1.Chart
        'membuat chart pada default location
        oChart.Location(Excel.XlChartLocation.xlLocationAsObject, osheet.Name)
        With oChart
            'mengeset range untuk chart
            Dim chartRange As Excel.Range

            chartRange = osheet.Range("A3", Alphabets & R)
            .SetSourceData(chartRange)

            'fungsi ini untuk mengeset bentuk dari plot, apakh kolom atau baris
            .PlotBy = Excel.XlRowCol.xlRows
            'mensetting data label
            .ApplyDataLabels(Excel.XlDataLabelsType.xlDataLabelsShowNone)
            'mensetting apakah legend tampil atau tidak
            .HasLegend = True
            'mensetting lokasi legend
            .Legend.Position = Excel.XlLegendPosition.xlLegendPositionRight
            'Pilih tipe chart
            .ChartType = Excel.XlChartType.xlColumnClustered
            'chart title
            .HasTitle = True
            .ChartTitle.Text = "Bar Chart"

            Dim xlAxisCategory, xlAxisValue As Excel.Axes
            xlAxisCategory = CType(oChart.Axes(, Excel.XlAxisGroup.xlPrimary),
Excel.Axes)
            xlAxisCategory.Item(Excel.XlAxisType.xlCategory).HasTitle = True
           
xlAxisCategory.Item(Excel.XlAxisType.xlCategory).AxisTitle.Characters.Text = "Month"
            xlAxisValue = CType(oChart.Axes(, Excel.XlAxisGroup.xlPrimary),
Excel.Axes)
            xlAxisValue.Item(Excel.XlAxisType.xlValue).HasTitle = True
            xlAxisValue.Item(Excel.XlAxisType.xlValue).AxisTitle.Characters.Text =
"Category"
        End With
    End Sub
Kuliah Berseri IlmuKomputer.Com
Copyright © 2003 IlmuKomputer.Com

Step By Step Menjadi Programmer Handal Dengan VB.Net XVII
Junindar

Double click form1 dan ketikkan sintaks dibawah.




Dan double click button export  dan ketik sintaks dibawah ini



Try
            'Nama File dan path. file akan disimpan di mana file
exe brada
            Filename = Application.StartupPath & "\abc.xls"
            'cek apakah file exist jika iya kemudian delete
untuk membuat file baru.
            If File.Exists(Filename) Then
                File.Delete(Filename)
            End If
            If Not File.Exists(Filename) Then
                chkexcel = False
                'Membuat excel aplikasi yang baru
                oexcel = CreateObject("Excel.Application")
                'tambahkan worbook yang baru
                obook = oexcel.Workbooks.Add

                'mensetting application alert
                oexcel.Application.DisplayAlerts = True
                'mengecek total sheet pada workbook
                Dim S As Integer =
oexcel.Application.Sheets.Count()
                'delete seluruh sheet kecuali sheet pertama
                If S > 1 Then
                    oexcel.Application.DisplayAlerts = False
                    Dim J As Integer = S
                    Do While J > 1
                        oexcel.Application.Sheets(J).delete()
                        J = oexcel.Application.Sheets.Count()
                    Loop
                End If

                'untuk mengecek session dari excel application
                chkexcel = True

                oexcel.Visible = True
                'ini procedure untuk mengisi data pada excel
file
                Generate_Sheet()
                'simapn excel file
                obook.SaveAs(Filename)
                'menutup excel object dan session
                osheet = Nothing
                oexcel.Application.DisplayAlerts = False
Try
            View_Data()
        Catch ex As Exception
            MsgBox(ex.Message)
        Finally
            MyConnection.close()
End Try
Kuliah Berseri IlmuKomputer.Com
Copyright © 2003 IlmuKomputer.Com

Step By Step Menjadi Programmer Handal Dengan VB.Net XVII
Junindar










Setelah  selesai  dengan  coding  diatas,  jalankan  program.  Maka  tampilan  program
seperti  pada  gambar  diatas.  Untuk  mengexport  ke  excel  file  klik  button  export.
Maka  file  excel  akan  tersimpan  di  mana  tempat  exe  file  berada,  dengan  nama
abc.xls.

oexcel.Application.DisplayAlerts = False
                obook.Close()
                oexcel.Application.DisplayAlerts = True
                obook = Nothing
                oexcel.Quit()
                oexcel = Nothing
                chkexcel = False
                MsgBox("Export Finished")

            End If
        Catch ex As Exception
            MsgBox(ex.Message)

        Finally
            MyConnection.close()
            Dbclose()
        End Try
Kuliah Berseri IlmuKomputer.Com
Copyright © 2003 IlmuKomputer.Com

Step By Step Menjadi Programmer Handal Dengan VB.Net XVII
Junindar



Penutup
Mudah-mudahan artikel ini membuat kita semua menjadi bertambah pengetahuanya. 
Referensi
1.  www.msdn.microsoft.com
2.  www.planetsourcecode.com
3.  www.codeproject.com
4.  www.aspnet.com
Masih banyak lagi referensi yang ada di Intenet. Anda tinggal cari di www.Google.com. 
Dengan kata kunci “tutorial VB.Net”

Tidak ada komentar:

Posting Komentar