日期:2014-05-19  浏览次数:20959 次

Excell 为什么丢了第一行数据
OleDbConnection   conn   =   new   OleDbConnection( "Provider=Microsoft.ACE.OLEDB.12.0;Data   Source=imagedata.xlsx;Extended   Properties=Excel   12.0 ");
                                conn.Open();
                                string   sql   =   "select   *   from   [Sheet1$] ";
                                OleDbCommand   com   =   new   OleDbCommand(sql,   conn);
                                OleDbDataAdapter   ad   =   new   OleDbDataAdapter(com);
                                DataSet   ds   =   new   DataSet();
                                ad.Fill(ds);
                                DataTable   dt   =   ds.Tables[0];
                                this.dataGridView1.DataSource   =   dt;
                                this.dataGridView1.Update();

用以上方法取得的数据没有第一行,不知为什么,例如Excell中有三行数据只能取出后两行.本人用的是Office   2007   Enterprise   Edition,VS   2005   SP1,Vista   终极版系统.
另外SQL   Server   2005   Enterprise   Edition也装不上,郁闷.

------解决方案--------------------
因为楼主你所用的oledb程序会默认你的excel的第一行为dataset的列名!