C#如何读取Excel数据?详细点,最好给点关键代码

C#怎么读取Excel数据?详细点,最好给点关键代码
Winfrom窗体 点击按钮之后 选择文件,必须是xls文件,然后写入数据,可以写DataGridView也可以直接写入数据库   
主要是不太懂如何读取到Excel数据 ,求大神们制定
C#如何读取Excel数据?详细点,最好给点关键代码
------解决方案--------------------
http://www.csharpwin.com/csharpspace/6809r1243.shtml
http://www.cnblogs.com/tuyile006/archive/2006/10/25/395586.html
------解决方案--------------------
http://wenku.baidu.com/link?url=SWIV2f5587Khzal_yDYrg45-hYeJoYa1AhmSWDImrIIYlcsJ5gfoUYSr5ODPbaZsl6LbLjoT06cg3rx69Zt1P3F3KTG4MKKovg_-V2JOa5K
一搜一大把。
------解决方案--------------------
读取Excel数据到SQL Server数据库
private void timer1_Tick(object sender, EventArgs e)
        {
            string P_str_Name = "";//存储遍历到的Excel文件名
            List<string> P_list_SheetNames = new List<string>();//实例化泛型集合对象,用来存储工作表名称
            P_str_Name = txt_Path.Text;//记录遍历到的Excel文件名
            P_list_SheetNames = GetSheetName(P_str_Name);//获取Excel文件中的所有工作表名
            for (int j = 0; j < P_list_SheetNames.Count; j++)//遍历所有工作表
            {
                if (ckbox_Windows.Checked)//如果用Windows身份验证登录Sql Server
                    ImportDataToSql(P_str_Name, P_list_SheetNames[j], "Data Source=" + txt_Server.Text + ";Initial Catalog =" + cbox_Server.Text + ";Integrated Security=SSPI;");//将工作表内容导出到Sql Server
                else if (ckbox_SQL.Checked)//如果用Sql Server身份验证登录Sql Server
                    ImportDataToSql(P_str_Name, P_list_SheetNames[j], "Data Source=" + txt_Server.Text + ";Database=" + cbox_Server.Text + ";Uid=" + txt_Name.Text + ";Pwd=" + txt_Pwd.Text + ";");//将工作表内容导出到Sql Server
            }
            System.Threading.Thread.Sleep(60000);//使线程休眠1分钟
        }


------解决方案--------------------
有些所谓的“读取Excel表的代码返利”是根本不考虑“Excel格式”的,那种代码只能用于极其个别的情况。

如果不说明具体是什么情况次啊能那样读取,而就去写博客,纯粹是胡写。你读取那种博客的时候要注意。此时随便拿出一种常见的Excel例子来测试,例如用这个Excel表来测试,你可以试试看能读出来什么?
------解决方案--------------------

//读取excel数据到dataGridView1中
   private void button1_Click(object sender, EventArgs e)
        {
            string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Book222.xls;Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";            
            OleDbConnection conn = new OleDbConnection(strConn);
            string strExcel = "";
            DataSet ds = new DataSet();
            strExcel = "select * from [sheet1$]";            
            OleDbDataAdapter da = new OleDbDataAdapter(strExcel, strConn);
            da.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0];
        
        }

 //更新数据库 
   private void button2_Click(object sender, EventArgs e)
        {
        
            DataTable dt = (DataTable)dataGridView1.DataSource;
            update(dt);           
        }

//更新数据库
  public void update(DataTable dt)
        {
            OleDbDataAdapter Ada = new OleDbDataAdapter();
            String ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Windows.Forms.Application.StartupPath + "\\temp.mdb";