Excel Okuyup DataGridview ile Gösterme ASP.NET
BİR TANE EXCEL DOSYASI OLUSTURUYORUZ.
KOD KISMI EXCEL AC BUTONUNA YIKLAYINCA
string DosyaYolu, DosyaAdi;
OpenFileDialog OFD = new OpenFileDialog()
{
Filter = "Excel Dosyası |*.xlsx| Excel Dosyası|*.xls",
// open file dialog açıldığında sadece excel dosyalarınu görecek
Title = "Excel Dosyası Seçiniz..",
// open file dialog penceresinin başlığı
RestoreDirectory = true,
// en son açtığı klasörü gösterir. Örn en son excel dosyasını D://Exceller adlı
// bir klasörden çekmiş olsun. Bir sonraki open file dialog açıldığında yine aynı
// klasörü gösterecektir. };
// bu da bir kullanım şeklidir. Aslında bu şekilde kullanmak daha faydalıdır.
// bir çok intelligence aracı bu şekilde kullanılmasını tavsiye ediyor.
if (OFD.ShowDialog() == DialogResult.OK)
// perncere açıldığında dosya seçildi ise yapılacak. Bunu yazmazsak dosya seçmeden
// kapandığında program kırılacaktır.
{
DosyaYolu = OFD.FileName;// dosya yolu
DosyaAdi = OFD.SafeFileName; // dosya adı
OleDbConnection baglanti = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + DosyaYolu + "; Extended Properties='Excel 12.0 xml;HDR=YES;'");
// excel dosyasına access db gibi bağlanıyoruz.
baglanti.Open();
OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM [Sayfa1$]", baglanti);
// burada FROM dan sonra sayfa1$ kısmı önemlidir.sayfa adı faklı ise örn
// sheet ise program hata verecektir.
// NOT: Excel dosyanızın ilk satır başlık olsun. Yani sistem öyle algıladığından
// ilk satırdaki bilgileri başlık olarak tanımlayıp almıyor. Ne yazarsanız yazın
// sorun teşkil etmiyor. Tabi db için özel olan karakterleri kullanmayın.
DataTable DTexcel = new DataTable();
da.Fill(DTexcel);
// select sorgusu ile okunan verileri datatable'ye aktarıyoruz.
dataGridView1.DataSource = DTexcel;
// datatable'ı da gridcontrol'ün datasource'una atıyoruz.
baglanti.Close();
// bağlantıyı kapatıyoruz.
}
Kaynak : https://sanalkurs.net/c-open-file-dialog-ile-excelden-veri-cekmek-10461.html
TEŞEKKÜRLER :)
Yorumlar
Yorum Gönder