Mengeksport Data ke MS Excel Dengan Visual Basic - Part 4

Sunday, February 3, 2008

Coding



Klik kanan pada DataGrid1 pilih Retrieve Fileds untuk memasukan
field-field dari tabel karyawan ke komponen DataGrid1 secara otomatis.
Sehingga tampilannya akan seperti gambar dibawah ini :



Interface2.jpg


Langkah selanjutnya adalah mengisikan kode program ke dalam masing-masing komponen.
klik di sembarang tempat di pada komponen Form1 kemudian tekan tombol F7
ini akan memunculkan "Code Window".
Isikan beberapa baris kode program berikut pada bagian paling atas sebelum kode Private Sub Form_Load().





Option Explicit

Dim koneksi_ado As ADODB.Connection

Dim rskaryawan As ADODB.Recordset



Kode diatas mendeklarasikan variabel koneksi_ado sebagai adodb conection dan rskaryawan sebagai adodb recordset.
Dobel Klik Komponen Form1, kemudian ketik kode berikut :





Dim SQLStr As String


Set koneksi_ado = New ADODB.Connection

Set rskaryawan = New ADODB.Recordset



koneksi_ado.ConnectionString= & _

"Provider=Microsoft.Jet.OLEDB.4.0; & _

Password=;Data Source=" & App.Path & "\sample.mdb" & _
";Persist Security Info=True"



koneksi_ado.Open

Adodc1.Enabled = True



SQLStr = "select * from karyawan order by nama"

rskaryawan.Open SQLStr, koneksi_ado, adOpenDynamic, adLockOptimistic

DataGrid1.Refresh

Label1.Caption = "Status :"



Kode diatas akan dieksekusi pada event form_load sehingga kode diatas akan dieksekusi ketika sebuah aplikasi pertama dijalankan.



Langkah selanjutnya, mengisikan kode program utama yang akan di picu oleh komponen CommandButton1. Dobel klik CommandButton1, kemudian ketik kode berikut :





Dim EXCELAPPKU As Excel.Application

Dim excelbookku As Excel.Workbook

Dim excelsheetku As Excel.Worksheet



Dim baris, datake As Integer



Label1.Caption = "Status : Prosesing Data...."



Set EXCELAPPKU = New Excel.Application

Set excelbookku = EXCELAPPKU.Workbooks.Add

With EXCELAPPKU

.StandardFontSize = "10"

End With


EXCELAPPKU.Visible = True



Set excelsheetku = excelbookku.Worksheets(1)

excelsheetku.Select


Range("A1:C1").Select

Selection.MergeCells = True

Selection.HorizontalAlignment = xlCenter

ActiveCell.FormulaR1C1 = UCase("Data Karyawan")

Selection.Font.Bold = True

Selection.Font.Name = "Verdana"



With excelsheetku

.Cells(2, 1).Value = "NIK"

.Cells(2, 2).Value = "Nama"

.Cells(2, 3).Value = "Jabatan"



Label1.Caption = "Status : Prosesing Data..."

baris = 3

datake = 0



If Not rskaryawan.BOF Then

rskaryawan.MoveFirst

While Not rskaryawan.EOF

Label1.Caption = "Status : Exporting Data ke " & datake

Label1.Refresh

datake = datake + 1

.Cells(1, 5).Value = "Fetching data ke " & datake

.Cells(baris, 1) = rskaryawan![NIK]

.Cells(baris, 2) = rskaryawan![nama]

.Cells(baris, 3) = rskaryawan![jabatan]

baris = baris + 1

rskaryawan.MoveNext

Wend

End If

.Cells(1, 5).ClearContents

.Columns("A:A").EntireColumn.AutoFit

.Columns("B:B").EntireColumn.AutoFit

.Columns("C:C").EntireColumn.AutoFit

End With

rskaryawan.Close


Label1.Caption = "Status : Selesai."

On Error GoTo 0

Set excelsheetku = Nothing

Set excelbookku = Nothing

EXCELAPPKU.Quit

MsgBox "Export data selesai", vbInformation, "Informasi"




Sekarang anda pilih menu Run | Start untuk menjalankan aplikasi. Tekan tombol "Eksport" untuk melihat outputnya.



Berikut ini gambar aplikasi pada saat runtime :



runtime.jpg

Dan gambar dibawah ini adalah gambar hasil outputnya :


output.jpg


<< Interface Aplikasi dan Database Path (Part 3)

3 comments:

Nastianto said...

Wah mas artikelnya bagus banget..
thaks helpfull banget buat programer pemula kaya saya..

JohnWarezz said...

ok sama-sama mas
senang artikel ini bisa bermanfaat

jangan lupa kunjungi juga blog saya yang ini ya..

ciao...

LabQ5 said...

code u/ menset format Cell-nya gimana yaaa?
cos sya coba dg data [TanggalMasuk]="02/06/2010". Ketika diexport ke X-cels hasilnya '40215'

mohon sarannya.
Thks atas artikel ini yang memberi pencerahan.

silahkan jangan ragu-ragu u/ sharing ilmunya ya...

Recent Comments

Tags Cloud

Blogumulus by Roy Tanck and Amanda Fazani