诡异的数据库写入有关问题

诡异的数据库写入问题
这两天写了个小程序,把一些excel表格数据写入sqlserver,然后就发现了一个很诡异的事情。有一个表格,前三行数据都是空的,结果程序从第四行开始就无法读取数据,在数据库里显示这张表格的内容都是空的。但只要在前三行任意一行任意一列输入任意数据,则后续的数据就可以正常读取。但程序读取其他的表格都没问题。请各位帮忙看看。代码如下:
 void ReadExcel(string filename, int index)
        {
            using (OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename + ";" + "Extended Properties=Excel 8.0;"))
            {
                conn.Open();
                DataTable table = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
                tablenames = new string[table.Rows.Count];
                for (int i = 0; i < table.Rows.Count; i++) tablenames[i] = table.Rows[i][2].ToString();//获取Excel的表名
                if (tablenames.Length <= 0)
                { MessageBox.Show("Excel中没有表!"); return; }
                using (OleDbCommand cmd = conn.CreateCommand())
                {
                    lb_tablename.Text = "表名:" + tablenames[index].Substring(0, tablenames[index].Length - 1);
                    cmd.CommandText = "select * from [" + tablenames[index] + "]";
                    ds = new DataSet();
                    using (OleDbDataAdapter da = new OleDbDataAdapter(cmd))
                    {
                        da.Fill(ds, tablenames[index]);
                        dgv_show.DataSource = ds.Tables[0];
                    }
                }
            }
        }

------解决思路----------------------
用 + "Extended Properties='Excel 8.0;HDR=yes;IMEX=0;'" 试试。