Sekedar sharing dan juga sebagai catatan agar kelak jika dibutuhkan tinggal buka posting ini kapan saja. Kali ini tentang cara merubah format sebuah file data dari format Ms.Excel ke format yang dapat digunakan pada aplikasi database. Sejauh sepengetahuan saya, umumnya aplikasi database baik di PC dan Android, memerlukan raw data atau data mentah berupa file teks dengan format .CSV. Tujuannya adalah agar data-data tersebut dapat langsung di-import dan dikenali sebagai data yang valid dan readable oleh sebuah aplikasi Database. Kelihatannya mudah, karena fasilitas untuk menyimpan data ke dalam format .CSV ini sudah tersedia oleh Ms.Excel. Namun demikian, format yang dibuat oleh Ms.Excel ternyata tidak dapat dikenali oleh rata-rata aplikasi database.
Banyak referensi di internet yang dapat kita peroleh mengenai bentuk format .CSV yang dapat digunakan sebagai raw data oleh aplikasi database. Yang saya tahu, adalah .CSV dengan menggunakan double quote delimiter (") sebagai pemisah antara jenis data. Contoh:
"Name","Kota","Phone"
"Sunaryono","JAKARTA","+62815815815"
Namun dari sekian banyak referensi yang saya dapat dari Internet, sejauh ini saya baru menemukan satu referensi yang saya pikir sangat akurat memberikan cara untuk bisa mengkonversi file .xls ke format .CSV yang saya inginkan. Cara ini menggunakan perintah Macro yang mungkin sedikit membingungkan untuk para pemula, termasuk saya. Namun demikian, kita tidak perlu khawatir. Walaupun caranya sedikit membutuhkan usaha, namun menurut saya hasilnya sangat memuaskan dan kita tidak perlu harus mengerti Macro. Ikuti saja langkah-langkah berikut ini,
1. Buka file .xls yang berisi tabel data-data yang akan dikonversi.
2. Tekan tombol ALT dan F11. Ini untuk mengaktifkan Visual Basic Editor.
3. Pilih menu Insert - Module untuk membuka jendela module.
4. Salin makro di bawah ini dan paste di jendela module.
Sub CSVFile()
Dim SrcRg As Range
Dim CurrRow As Range
Dim CurrCell As Range
Dim CurrTextStr As String
Dim ListSep As String
Dim FName As Variant
FName = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv")
ListSep = Application.International(xlListSeparator)
If Selection.Cells.Count > 1 Then Set SrcRg = Selection Else
Set SrcRg = ActiveSheet.UsedRange
End If
Open FName For Output As #1
For Each CurrRow In SrcRg.Rows
CurrTextStr = ìî
For Each CurrCell In CurrRow.Cells
CurrTextStr = CurrTextStr & """" & CurrCell.Value & """" & ListSep
Next
While Right(CurrTextStr, 1) = ListSep
CurrTextStr = Left(CurrTextStr, Len(CurrTextStr) - 1)
Wend
Print #1, CurrTextStr
Next Close #1
End Sub
5. Kemudian tutup jendela module dan jendela Visual Basic Editor.
6. Dari jendela kerja Ms. Excel tekan tombol ALT dan F8.
7. Akan terbuka jendela Macro dan terdapat pilihan CSVFile.
8. Pilih CSVFile dan klik Run.
1. Buka file .xls yang berisi tabel data-data yang akan dikonversi.
2. Tekan tombol ALT dan F11. Ini untuk mengaktifkan Visual Basic Editor.
3. Pilih menu Insert - Module untuk membuka jendela module.
4. Salin makro di bawah ini dan paste di jendela module.
Sub CSVFile()
Dim SrcRg As Range
Dim CurrRow As Range
Dim CurrCell As Range
Dim CurrTextStr As String
Dim ListSep As String
Dim FName As Variant
FName = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv")
ListSep = Application.International(xlListSeparator)
If Selection.Cells.Count > 1 Then Set SrcRg = Selection Else
Set SrcRg = ActiveSheet.UsedRange
End If
Open FName For Output As #1
For Each CurrRow In SrcRg.Rows
CurrTextStr = ìî
For Each CurrCell In CurrRow.Cells
CurrTextStr = CurrTextStr & """" & CurrCell.Value & """" & ListSep
Next
While Right(CurrTextStr, 1) = ListSep
CurrTextStr = Left(CurrTextStr, Len(CurrTextStr) - 1)
Wend
Print #1, CurrTextStr
Next Close #1
End Sub
5. Kemudian tutup jendela module dan jendela Visual Basic Editor.
6. Dari jendela kerja Ms. Excel tekan tombol ALT dan F8.
7. Akan terbuka jendela Macro dan terdapat pilihan CSVFile.
8. Pilih CSVFile dan klik Run.
9. Jendela Save As akan terbuka, beri nama file maka data akan tersimpan sebagai file .CSV
Sekarang kita telah memiliki file .CSV dengan Double Quote delimiter yang bisa digunakan di berbagai aplikasi database.
Artikel asli cara konversi ke file .CSV di atas dapat dilihat pada link ini
Artikel asli cara konversi ke file .CSV di atas dapat dilihat pada link ini
saya sudah coba tapi ga bisa ketika di Run, kenapa ya?
BalasHapusaku juga bisa saat di run
BalasHapus