Saturday, April 5, 2014

How to import data from Excel to SQL SERVER by code?

  void ImporttoDatatable()
    {
        try
        {
            if (FlUploadcsv.HasFile)
            {
                string FileName = FlUploadcsv.FileName;

                string ext = Path.GetExtension(FlUploadcsv.FileName).ToLower();
                int filesize = FlUploadcsv.PostedFile.ContentLength;

                if (ext == ".xls" || ext == ".xlsx")
                {
                    if (filesize < 52428800)
                    {
                     

                            string path = string.Concat(Server.MapPath("~/Document/" + FlUploadcsv.FileName));
                           FlUploadcsv.PostedFile.SaveAs(path);
                            OleDbConnection OleDbcon = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;");

                            OleDbCommand command = new OleDbCommand("SELECT * FROM [Sheet1$]", OleDbcon);
                            OleDbDataAdapter objAdapter1 = new OleDbDataAdapter(command);
                            OleDbcon.Open();
                            // Create DbDataReader to Data Worksheet
                            DbDataReader dr = command.ExecuteReader();

                            // Bulk Copy to SQL Server
                            using (SqlBulkCopy bulkInsert = new SqlBulkCopy(constr))
                            {
                                bulkInsert.DestinationTableName = "m_Details";
                             
                                bulkInsert.WriteToServer(dr);
                                lblmsg1.Text = "Data updated successfully.";
                                dr.Close();
                                bulkInsert.Close();
                                OleDbcon.Close();
                             
                             
                             
                             
                            }
                     
                    }
                    else
                    {
                        lblmsg1.Text="File size cannot be greater than 2 MB";
                    }
                }
                else
                {
                    lblmsg1.Text = "Please select a Excel file only.";
                }
            }
            else
            {
                lblmsg1.Text = "Please select a file";
            }
             
            }
     
        catch (Exception ex)
        {
            lblmsg1.Text = ex.Message;
       
        }
    }

No comments:

Post a Comment