Asp.Net Excel’de Kayıt Arama

Asp.Net Excel Dosyası Yükleme ve Asp.net Excel Dosyası Okuma başlıklı yazımızda excel ile asp.net arasında nasıl bağlantı kurulur anlatmıştık şimdi olayı farklı bir şekilde ele alacağız veritabanı olarak excel dosyası kullanıldığını ve bu dosya da kayıtlar arasında arama yapılacağını düşünelim. Aşağıdaki uygulama excel dosyamızın önceden App_Data klasörüne yüklendiği varsayılarak yapılmıştır.

<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>www.aspnetornekleri.com Excel Kayıt Arama</title></head>
<body>
    <form id="form2" runat="server">
    <div>
        <p>
        <asp:Label ID="Label1" runat="server">Excel Kayıt Arama...</asp:Label></p>
       
        <asp:Label ID="Label2" runat="server" Text="Aranan Kişinin TC.NO"></asp:Label>
        <br />
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <br />
        <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
        <br />
        <asp:Label ID="Label3" runat="server" Text="Aradığınız Kişinin Bilgileri..."></asp:Label>
    </div>
    </form>
</body>
</html>

excelarama

 DataTable dt = new DataTable();
        protected void Page_Load(object sender, EventArgs e)
        {
            string dosyayolu = "veri.xlsx";
            string klasor = Request.PhysicalApplicationPath + "App_Data\\";
            string baglantiyeri = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + klasor + "/" + dosyayolu + ";Extended Properties=Excel 12.0;";
            OleDbConnection baglanti = new OleDbConnection(baglantiyeri);
            baglanti.Open();
            String sorgu = "SELECT * FROM [Sayfa1$]";
            OleDbCommand komut = new OleDbCommand(sorgu, baglanti);
            OleDbDataAdapter da = new OleDbDataAdapter();
            da.SelectCommand = komut;
            da.Fill(dt);          
            baglanti.Close();
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            DataColumn[] dc = { dt.Columns["Tcno"] };
            dt.PrimaryKey = dc;
            try
            {
                string tcno = TextBox1.Text;
                DataRow satir = dt.Rows.Find(tcno);
                string bilgi = "Adı Soyadı=" + satir["adi"].ToString() + " " + satir["soyadi"].ToString() + "  Sınıfı  " + satir["sinif"].ToString() + "  Adresi " + satir["adres"].ToString();
                Label3.Text += " "+bilgi;
            }
            catch
            {
                Label3.Text = "Aradığınız Kayıt Yok..";
            }

        }

Excel dosyası veritabanı gibi kullanılarak bilgiler Datatable’a aktarılıyor daha sonra DataTable üzerinde Rows.Find metodu ile arama yapılıp bulunan kayit satir değişkenine atanıyor ve bilgiler ekranda gösteriliyor…