小编Har*_*ing的帖子

使用C#在Excel中查找上次使用的行

可能重复:
如何获取Excel工作表中的已占用单元格范围

我试图在Excel工作表中找到最后使用的行.为此,我正在使用此代码:

int lastUsedRow = currentWS.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell,Type.Missing).Row;
Run Code Online (Sandbox Code Playgroud)

大部分时间它工作正常,但有时Excel认为表中的行数比假设的多.

Fx:如果我将包含12行的sheet1中的数据复制到空的sheet2,然后删除sheet2中的所有数据,通过右键单击并按"删除..."并将包含5行的sheet3中的数据复制到sheet2,然后lastUsedRow会给我12的值,应该是5.

在此输入图像描述 上面的图像示例假设我将值22作为行计数,但我会得到634.请注意右侧的滚动条.

看起来Excel认为即使我刚刚删除了所有单元格,但在将具有较少行的新数据复制到工作表之前,某些单元格仍然被填充.

有没有办法"调整"工作表中数据的视图,以便我可以获得正确数量的已用单元格或者可能是另一种方法来查找最后一次使用的行数?

谢谢.

c# excel add-in worksheet

7
推荐指数
3
解决办法
3万
查看次数

标签 统计

add-in ×1

c# ×1

excel ×1

worksheet ×1