//创建一个数据链接
string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source ="+filename+";Extended Properties=Excel 8.0" ;
OleDbConnection myConn = new OleDbConnection ( strCon ) ;
string strCom = " SELECT * FROM [Sheet1$] " ;
myConn.Open ( ) ;
//打开数据链接,得到一个数据集
OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ;
//创建一个 DataSet对象
DataSet myDataSet = new DataSet ( ) ;
//得到自己的DataSet对象
myCommand.Fill ( myDataSet , "[Sheet1$]" ) ;
//关闭此数据链接
myConn.Close ( ); myDataSet.Tables[0].Rows[i][0].ToString()这样读取时,若是数字,就可以正常读出来,
但是若此单元格内是文本,读取后是空,不知道什么原因?该怎么读取文本单元格的内容.多谢。

解决方案 »

  1.   

    楼上说的对啊,我刚试了下!另外我的第一行不能读出,默认第一行为excel中的第二行,不知道是否是我设置的原因
      

  2.   

    默认读入数据集是从EXCEL的第二行开始的。你可以在http://topic.csdn.net/t/20050420/11/3951508.html看一下。或上网查找一下。也可以在第一行加说明。
      

  3.   

    Excel读取到 DataSet 
    第一行默认是 字段名
    第二行开始才是数据