Mükemmel bir olay bence. Excel belgesini veri tabanı olarak kullanabiliyoruz. Performans açısından araştırmadım fakat az ve sık güncellenen datalar için excel belgesi kullanılabilir. Benim senaryom fazla firmanın bulunmadığı bir excel dökümanını grid view e aktarıp kullanıcıya gösterilmesiydi. Aşağıdaki kodlarla bunu başarabildim.
   public DataTable ExcelDatatoDataTable(string WorkSheetName)
   {
       OleDbConnection con = new OleDbConnection(”Data Source=” + System.Web.HttpContext.Current.Server.MapPath(”/YellowPage/BIESariSayfalar.xls”) + “;Provider=Microsoft.jet.OLEDB.4.0;Extended Properties=Excel 8.0;”);
       OleDbCommand com = new OleDbCommand(”SELECT * FROM [" + WorkSheetName + "$]“, con);
       if (con.State == ConnectionState.Closed)
           con.Open();
       OleDbDataReader dr = com.ExecuteReader();
       DataTable dt = new DataTable();
       dt.Load(dr);
       return dt;
   }
“System.Web.HttpContext.Current.Server.MapPath” kod kısmı ile dosyamın yolunu belirtirken root dan baÅŸlamasını istedim. Class içerisinde olduÄŸum için bunu kullandım. EÄŸer ki class içinde olmasaydım “Server.MapPath” kod parçacığı iÅŸimi görecekti.
Bir class içine bu metodu yazdım. Metodu çağırırken bir string istedim. Stringe excel dökümanındaki worksheet ismini atadım. Daha sonra sorgumu çalıştırdım. Dönen datatable gridview de data source oldu.
Kaynak : http://www.yazgelistir.com/Makaleler/1000002045.ygpx