خواندن اطلاعات از excel در Asp.Net

در این مقاله خواهیم دید که چگونه اطلاعات را از یک فابل excel در برنامه خود بخوانیم

خواندن اطلاعات از excel در Asp.Net

خواندن اطلاعات از excel در Asp.Net

گاهی اوقات میخواهیم داده ها را از یک فایل اکسل بخوانیم و اطلاعات خاصی را  در یک صفحه نمایش دهیم در این مقاله خواهیم دید چگونه در asp.net این عمل انجام خواهد شد

در ابتدا یک فایل اکسل به نام MyExcel.xlsx با دو فیلد به شکل زیر میسازیم :

در این مقاله نام sheet  را تغییر ندادم چون در صورت تغییربه نام sheet نیاز خواهیم داشت همچنین شما میتوانید فایل اکسل را درون اسناد متصل پیدا کنید حال برای گرفتن داده از فایل اکسل نیاز به موارد زیر داریم:

1- کنترل فایل آپلود برای آپلود فایل

2- گرید ویو برای نمایش اطلاعات

3- یک button

حال برنامه ویژوال استدیو خود را باز کنید و یک پروژه جدید از نوع وب فرم بسازید:

حال در پنجره solution explorer روی نام پروژه کلیک راست کنید و گزینه add new item را انتخاب کنید و یک صفحه جدید به پروژه خود اضافه کنید و سه مورد گفته شده را از جعبه ابزار خود به صفحه اضافه کنید

       <asp:FileUpload ID="FileUpload1" runat="server" />
        <asp:Button ID="Button1" runat="server" Text="خواندن اطلاعات"
             OnClick="Button1_Click" />
        <asp:GridView ID="GridView1" runat="server"></asp:GridView>

صفحه دیزاین:

سه فضای نام مورد استفاده قرار میگیرد:


    using System.IO;  
    using System.Data.OleDb;  
    using System.Data;  

Io برای فایل و مسیر فیزیکی و data برای کار با datattable  و از همه مهم تر oledb برای اتصال به فایل اکسل

Microsoft Excel شبیه یک پایگاه داداه است و oledb برای اتصال استفاده شده است

حال در رویداد کلیک دکمه خواندن اطلاعات کد زیر را بنویسید:


    protected void Button1_Click(object sender, EventArgs e)  
        {  
            //if File is not selected then return  
            if (Request.Files["FileUpload1"].ContentLength <= 0)  
            { return; }  
      
            //Get the file extension  
            string fileExtension = Path.GetExtension(Request.Files["FileUpload1"].FileName);  
      
            //If file is not in excel format then return  
            if (fileExtension != ".xls" && fileExtension != ".xlsx")  
            { return; }  
      
            //Get the File name and create new path to save it on server  
            string fileLocation = Server.MapPath("\\") + Request.Files["FileUpload1"].FileName;  
      
            //if the File is exist on serevr then delete it  
            if (File.Exists(fileLocation))  
            {  
                File.Delete(fileLocation);  
            }  
            //save the file lon the server before loading  
            Request.Files["FileUpload1"].SaveAs(fileLocation);  
      
            //Create the QueryString for differnt version of fexcel file  
            string strConn = "";  
            switch (fileExtension)  
            {  
                case ".xls": //Excel 1997-2003  
                    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileLocation 
    + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\"";  
                    break;  
                case ".xlsx": //Excel 2007-2010  
                    strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileLocation 
    + ";Extended Properties=\"Excel 12.0 xml;HDR=Yes;IMEX=1\"";  
                    break;  
            }  
      
            //Get the data from the excel sheet1 which is default  
            string query = "select * from  [Sheet1$]";  
            OleDbConnection objConn;  
            OleDbDataAdapter oleDA;  
            DataTable dt = new DataTable();  
            objConn = new OleDbConnection(strConn);  
            objConn.Open();  
            oleDA = new OleDbDataAdapter(query, objConn);  
            oleDA.Fill(dt);  
            objConn.Close();  
            oleDA.Dispose();  
            objConn.Dispose();  
              
            //Bind the datatable to the Grid  
            GridView1.DataSource = dt;  
            GridView1.DataBind();  
      
            //Delete the excel file from the server  
            File.Delete(fileLocation);  
        }

حال میتوانید برنامه رو اجرا کنید:

حال فایل اکسلی که در ابتدا ساختیم را انتخاب کنید و روی دکمه خواندن فایل کلیک کنید:

فایل های ضمیمه