各位大侠请帮忙:我是从Excel中将数据导入到DataTable中,Excel中数据类似如下:姓名 系别     班级 分数
张三 计算机  1-1   70
李四 英语    1-2  64
王二 数学    2-1  81在导入的时候,需要对每一行进行验证:姓名和分数必须填写,而且分数必须为数字。请问,在导入的时候,如何判断出该Excel共有三行数据?也就是说,怎么才能知道Excel所有记录已经遍历完了呢?因为我在循环遍历的时候,要对每一行的姓名进行判断是否为空,但是Excel的第四行没有数据,姓名也是空,怎么处理呢?
还就就是类似如下的记录如何处理:姓名 系别     班级 分数
张三 计算机  1-1   70
     英语    1-2  64
王二 数学    2-1  81
王三 数学    2-2  88(中间有空行)请有经验的大侠给予指点,不胜感激!

解决方案 »

  1.   

    excel一个worksheet最多65535行数据,因为你中间有空行,所以不能判断下面有没有数据,只能用麻烦的方法,全遍历,姓名有的个数加一。
      

  2.   

    用oledb连接做sql查询,条件加where 姓名<>''
      

  3.   

    Excel.Worksheet.UsedRange.Rows.Count
    获得用户使用的行数
      

  4.   


    DataRow dtrow = mydt.NewRow();
    if (oledbdr[0] == DBNull.Value)
        dtrow[0] = DBNull.Value;
    else
        dtrow[0] = Convert.ToString(oledbdr[0]);
    if (oledbdr[1] == DBNull.Value)
        dtrow[1] = DBNull.Value;
    else
        dtrow[1] = Convert.ToString(oledbdr[1]);
    mydt.Rows.Add(dtrow);
      

  5.   

    http://blog.csdn.net/jinjazz/archive/2007/12/11/1930455.aspx
      

  6.   

    用oledb操作,读取加上条件就行了