c# 从Excel中将数据导入到DataTable ,如何判断Excel已经遍历到最后一行了?

时间:2022-05-21 20:42:01
各位大侠请帮忙:

我是从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

(中间有空行)

请有经验的大侠给予指点,不胜感激!

10 个解决方案

#1


IsDBNull

#2


请大家帮忙看看,着急!

#3


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

#4


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

#5


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

#6


引用 1 楼 huangshihu1 的回复:
IsDBNull


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);

#7


能提供详细的方法么?

#8


偶来学习的!大家多讨论!

#9


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

#10


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

#1


IsDBNull

#2


请大家帮忙看看,着急!

#3


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

#4


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

#5


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

#6


引用 1 楼 huangshihu1 的回复:
IsDBNull


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);

#7


能提供详细的方法么?

#8


偶来学习的!大家多讨论!

#9


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

#10


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