Laman

Jumat, 17 September 2010

Load Data dari Excel ke DataGridView di C#


Visual C# memang software powerfull yang bisa melakukan apasaja, kemampuannya running di windows pun tidak ada yang meragukannya, satu-satunya kelemahan software buatan microsoft corp ini yaitu hanya bisa running di lingkungan windows, walaupun bisa running di linux dengan versi mono, tapi tidak akan se setabil bila runing di windows Kali ini akan diposting tentang cara load data dari excel (all version) ke datagrid. Sebelum membuat project, silahkan download dulu kelas reader excel yang telah dibuat disini, karena kelas ini akan digunakan untuk meload data nantinya. Sekarang langsung buat projectnya. Langkah pertama yang harus kita buat adalah siapkan dua form, bila anda belum terbiasa dengan multiform untuk menambahkan form langkahnya adalah sebagai berikut.  Klik project -> add windows form..   akan muncul kotak dialog seperti dibawah ini

Gambar 1. Menambahkan form ke aplikasi

double klik pada tulisan windows form Setelah dua form telah tersedia dalam project, langkah selanjutnya adalah menambahkan kelas yang telah di download tadi ke dalam project, untuk menambahkan kelas dalam project ikuti langkah di bawah ini
Pilih project->klik add kelas, akan muncul kotak dialog, pada kotak name: masukan nama kelas, setelah itu klik ADD. Usahakan nama class sama dengan nama project anda, karena ini akan memudahkan dalam memanage class nantinya.

Setelah class baru tadi terbentuk, copy dan paste semua kode dari class yang tadi telah di download, ingat setelah copy dan paste codenya, anda harus merename  namespace class yang baru terbentuk, rename namespace agar sama dengan namespace pada form1
Penting !!!  

ingat, namespace pada class yang baru dibuat dan namespace pada form harus sama, jika tidak akan muncul error sebagai berikut

Gambar 2. Error karena namespace tidak sama

Langkah selanjutnya tambahkan button, datagridview dan openfiledialog pada form1. Tambahkan code berikut ini pada event button1
if (openFileDialog1.ShowDialog(this) == DialogResult.OK)
 {
   string filename = openFileDialog1.FileName;
   string extension = Path.GetExtension(filename);
   if (extension == ".xls" || extension == ".xlsx")
   {
     ExcelReader db = new ExcelReader(filename, true, false);
     Form2 t = new Form2(db.GetWorksheetList());
     if (t.ShowDialog(this) == DialogResult.OK)
     {
       dataGridView1.DataSource = db.GetWorksheet(t.selection);
       dataGridView1.DataSource = db.GetWorksheet(t.selection);
     }
 }

Pada form dua, tambahkan listbox1 dan dua button, berikan label button tersebut OK dan Cancel.  Berikut adalah source lengkap pada form2

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ExelReaderOkfan
{
  public partial class Form2 : Form
  {
    public Form2(string[] data)
    {
      InitializeComponent();
      listBox1.DataSource = data;
    }
    public string selection
    {
       get
      {
       return listBox1.SelectedItem.ToString();
      }
    }
  }
}

Dan sekarang ruuning project yang telah kita buat.
Jika tidak ada yang error akan  muncul seperti ini

Gambar 3. Preview hasil running program

Setelah klik tombol Load Data akan muncul form2, seperti gambar dibawah ini

Gambar 4. Preview hasil running program

Dan ketika button OK di klik hasilnya adalah seperti berikut ini

Gambar 5. Preview hasil running program

untuk file binary nya bisa di download disini,  akan tetapi file binary ini hanya bisa berjalan di framework 4 (anda harus menginstall visual studio 2010), atau anda instal secara manual visual studio 2010
for more information contact us on
informasi@csharp-indonesia.com 
 

Artikel yang mirip

56 komentar:

  1. mas saya sedang mengerjakan tugas akhir dan kebetulan saya sedang mengalami kesulitan untuk me'load data dari excel ke datagridview.
    mas bisa minta tolong kirimkan projectnya ke email saya:
    cingcingkucing@gmail.com

    terimakasih banyak :)

    BalasHapus
  2. fransiska : Full projectnya sudah saya send ke email cingcingkucing@gmail.com. silahkan di check. jika ada error silahkan contact me lagi.......

    thanks.........

    BalasHapus
  3. mas, maksimal jumlah kolom d excel yang dapat di baca oleh C# berapa ya? saya coba koneksi c# dengan excel 2003 (bukan dengan lbrary yang mas buat) dengan sekitar 30 kolom, tapi hanya sampai kolom ke-16 yang terbaca, selebihnya ga terbaca. bisa ga maksimum kolomnya ditambahkan ya sesuai kebutuhan kita?
    Tolong jawabannya d kirim ke email saya juga ya mas (fahruri.ks48@gmail.com)
    Terimakasih ya mas...
    semoga sukses selalu...

    BalasHapus
  4. maaf bru ngrespone... soale lagi sibuk ma kuliah, jadi jarang Online :-D :-D.

    untuk load data dari file excel setauku tidak ada batasannya, akan tetapi jika membuat kolom pada datagrid view itu ada batasannya, kalau tidak salah batasan kolom pada datagridview sekitar 65000, sehingga untuk mencustomize jumlah data yang ingin di load bisa disesuaikan, code yang saya tulis itu hanya mendeteksi apakah di suatu cells tersebut ada datanya apa tidak, jika ada maka data di cell tersebut akan di load ke program C#

    jika melihat kasus yang saudara alami, coba saudara ganti load data excel dari file excel yang lainnya,,....

    untuk diskusi lebih lanjut, silahkan add aja YM ku Y_yahuii@yahoo.com, kita bisa sharing lebih banyak.....

    BalasHapus
  5. coba memakai file excel ini http://www.ziddu.com/download/13362475/contohFile.rar.html , apakah hasilnya tetep hanya mampu me load data sampai 16 kolom saja...

    BalasHapus
  6. mas, mau tanya.. apakah cell-cell yang merge di excel bisa ditampilkan dalam datagridview juga dalam bentuk merge?
    kalo bisa, ajarin donk :D
    terima kasih banyak..
    emailku : ksb_09@yahoo.co.id

    BalasHapus
  7. cory baru respon....

    untuk masalah cell yang di marge saya belum pernah mencobanya, saya akan mencoba membuat projectnya. jika sudah selesai akan saya kirim ke email ke saudara atau bisa di lihat di postingan di blog ini

    BalasHapus
  8. mas saya sedang coba belajar buata aplikasi dan kesulitan dengna load dari excel ke datagrid.
    mas bisa minta tolong kirimkan projectnya ke email saya:
    sajadah99@gmail.com

    BalasHapus
  9. untuk full projectnya sudah saya send ke sajadah99@gmail.com, silahkan cek email anda. jika ada masalah tentang memahami program, silahkan kontak Ym y_yahuii@yahoo.com OL setiap hari di jam kerja. terimakasih

    BalasHapus
  10. saya kirimin projectnya dong mas ke silldepair@gmail.com (ada tugas ni)

    BalasHapus
  11. PROJECT sudah di kirim ke silldepair@gmail.com silahkan cek email. dan terimakasih

    BalasHapus
  12. bro.. kalo boleh minta full projectnya yah.. soalnya yg saya buat ga jalan.. dennis_octavianus09@yahoo.com

    BalasHapus
  13. full project "load data dari excel" sudah saya send ke email dennis_octavianus09@yahoo.com. Silahkan cek email saudara.
    Terimakasih

    BalasHapus
  14. aku minta dong ..
    ka sekalian mau nanya nih kalo mau ekspor data dari excel ke powepoint gimana caranya yaa?

    BalasHapus
  15. maaf... kami tidak bisa mengirim full project karena anda tidak meninggalkan alamat email anda

    BalasHapus
  16. mas..saya kebingungan untuk load data dari excel.klo boleh minta file projectnya ya.
    email saya :
    izkajo@gmail.com
    terima kasih.

    BalasHapus
  17. full project sudah di send ke izkajo@gmail.com
    silahkan cek inbox izkajo@gmail.com

    nb
    maaf atas keterlambatan respon, karena masalah internal yang belum selesai

    BalasHapus
  18. mas kalo boleh saya juga minta dikirim ke email full projectnya ya
    Arief_eka28@yahoo.com
    trimakasih sebelumnya

    BalasHapus
  19. full project sudah di send ke Arief_eka28@yahoo.com Silahkan cek inbox

    BalasHapus
  20. boleh di bagi dong full projectnya ke elmina_aka_yohan@yahoo.co.id

    BalasHapus
  21. full project sudah di send ke ekmina_aka@yahon.yahoo.co.id
    silahkan cek email tersebut

    terimakasih atas perhatiannya
    regard,
    www.csharp-indonesia.com

    BalasHapus
  22. tolong full project pak... email saya samid_bowie2@yahoo.com
    best regards

    BalasHapus
  23. full project sudah disend ke alamat email samid_bowie2@yahoo.com. Silahkan cek inbox email tersebut, dalam project tersebut juga telah dilampirkan contoh file excelnya.
    terimakasih banyak. semoga bisa bermanfaat
    regard,
    www.csharp-indonesia.com

    BalasHapus
  24. tolong kirim full projeknya ke putera.harri@yahoo.com

    di form 2 sintaks untuk button 'OK' apa ya ?

    BalasHapus
  25. pada button OK di set sedemikian rupa sehingga mempunyai sebuah dialogresult=OK
    dengan demikian saat form tersebut ditutup dengan menekan tombol yang diberik nilai dialogResult, program mampu menangkap dialogResult tersebut pada form lain. Ada banyak cara yang bisa digunakan untuk melakukan passing value antar form, akan tetapi dewasa ini teknik OOP sering menjadi topik hangat karena kemampuan dan efisiensi yang didapatkan dengan menerapkan teknik pemrograman OOP. Semoga bisa bermanfaat

    BalasHapus
  26. karena sering di tolak oleh mail server.. silahkan download di link berikut ini
    http://adf.ly/4907F

    BalasHapus
  27. kenapa saat saya pindahin cpde utk tombol d form1, path-nya error?

    BalasHapus
  28. jika terjadi error "does not contain a constructor that takes 1 argument" pada Form2(db.GetWorksheetList()) itu berarti pada Form2 kontruktornya hanya ada satu, yaitu konstruktor tanpa parameter, sehingga untuk menjalankannya silahkan tambah satu kontruktor dengan satu parameter dengan type data db.getWorksheetlist

    untuk lebih jelasnya tentang konstruktor, silahkan pahami OOP dalam C#
    terimakasih semoga bisa membantu dan bisa bermanfaat

    BalasHapus
  29. boleh minta full project nya??

    BalasHapus
  30. boleh minta full project nya??mau buat belajar..terima kasih..
    kirim ke martinthino@yahoo.com

    BalasHapus
  31. silahkan download di sini http://adf.ly/4907F semoga bisa bermanfaat dan bisa membantu
    terimakasih

    BalasHapus
  32. silahkan download sini http://adf.ly/4907F
    terimakasih. semoga bisa membatu dan bermanfaat

    BalasHapus
  33. trima kasih. Jalan sudah

    BalasHapus
  34. Kok path di string extension error ya?

    does not exist in the current content

    BalasHapus
  35. Udah solved, thanks untuk tutorialnya

    BalasHapus
  36. Sama Path di "string extension = Path.GetExtension(filename);" pnya saya juga error ni.. gmn gan pnyelesaiannya..??

    BalasHapus
  37. gan minta fuul projectnya ya.. tlng kirim ke danzzaid@gmail.com
    terima kasih gan...

    BalasHapus
  38. bisa minta full projectnya, ade.dharmawan@yahoo.com, makasih

    BalasHapus
  39. saya mau nanya kok untuk load file dengan extensi .xlsx tidak bisa yah? mohon bantuannya

    BalasHapus
  40. maaf, saya mau nanya, button OK pada form 2 diisi apa y??
    atau boleh kirim projectnya ke email yayangkurniati@gmail.com ????

    BalasHapus
  41. siang mas .. boleh saya minta ful projectny dkrim kemail saya oktavianaelsarika@gmail.com
    saya download koq tidak bisa terus trima kasih..

    BalasHapus
  42. siang mas .. boleh saya minta ful projectny dkrim kemail saya oktavianaelsarika@gmail.com
    saya download koq tidak bisa terus trima kasih..

    BalasHapus
  43. sudah coba kodding sndri dari langkah2 diatas cm error dibagian class connection ke excel nya. boleh minta full projectnya? kalau boleh tolong dikirimkan ke email moth.chubie@gmail.com yah. terima kasih banyak.:)

    BalasHapus
  44. mas, boleh minta full projectnya juga, saya sedang buat tugas akhir btuh project ini, trimakasih tlong email ke dea.echi02@gmail.com

    BalasHapus
  45. mas, boleh minta full project nya ke rizki.anggarsasi@gmail.com. makasih mas

    BalasHapus
  46. Mas minta full project ya mas,, ke redone56@gmail.com thanks before

    BalasHapus
  47. Gambarnya tolong diperbaiki gan, gak muncul...

    BalasHapus