c#的range.Rows.Count不正确'

本文关键字:不正确 Count range Rows | 更新日期: 2023-09-27 17:51:03

我正在使用c#从Excel中获取数据。

为了读出数据,我使用这段代码:

for (int rCnt = 2; rCnt <= range.Rows.Count; rCnt++)

工作表是80行长,range.Rows.Count说它是135行长。我有这个问题与2个Excel文件。Excel文件是从Sharepoint生成的,具有过滤器和其他格式。当我将数据复制到一个空的Excel文件(与Strg + A,而不是手动选择),它计算行的正确数量。有了第三个Excel文件(也来自Sharepoint),就没有问题了…

也许一个解决方案是先改变excel文件,它只需要我的程序不需要其他任何东西,所以这将是好的。

任何想法?

编辑:

我刚刚停止了代码,看到,在80的范围之后,对象中的所有条目都是"null",所以没有隐藏的数据或其他东西

Edit2:我删除了所有的数据表,现在它计数137行,所以必须有一些格式化的东西被计数…

c#的range.Rows.Count不正确'

首先你提到excel文件有一些过滤和格式化。可能是一些格式应用于文件中的前135行,因此select返回所有行?其次,你用什么来读取Excel文件?你用OleDb吗?返回的其余行为空吗?

如果是这种情况,你可以使用:SELECT * FROM SHEET WHERE [Column] is NOT NULL