Read from excel and insert into data table in c#

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

private DataTable ReadExcelToTable(string path)
{

            //Connection String
            string extenstion = Path.GetExtension(path);
            string connstring = "";
            if (extenstion == "xls" || extenstion == "XLS")
            {
                connstring = "Provider=Microsoft.JET.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";
            }
            else
            {
                connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";
            }
            //connstring = "Provider=Microsoft.JET.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";
           
            using (OleDbConnection conn = new OleDbConnection(connstring))
            {
                DataSet set = new DataSet();
                try
                {
                    conn.Open();
                    //Get All Sheets Name
                    DataTable sheetsName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" });

                    //Get the First Sheet Name
                    string firstSheetName = sheetsName.Rows[0]["TABLE_NAME"].ToString();

                    //Query String
                    string sql = string.Format("SELECT * FROM [{0}]", firstSheetName);
                    OleDbDataAdapter ada = new OleDbDataAdapter(sql, connstring);

                    ada.Fill(set);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("File Loading Error, Try again \n" + ex.Message);
                    return null;
                }
                return set.Tables[0];
            }
}

http://aksadur.blogspot.com/2013/02/read-from-excel-and-insert-into-data.html

Comments

Popular posts from this blog

Easy Ui Jquery easyui-textbox change onChange event

Provision AWS EC2 Instance and RDS with Terraform, and Deploy Spring Boot App to EC2 Instance via GitHub Action Pipeline

npm install gets stuck at fetchMetadata