Excel二次开发学习笔记——获取某列最后一个非空单元格的行号
方法一:遍历某列所有元素,得到最后一个非空单元格的行号方法二:推荐用法为了获取某WorkSheet某列最后一个非空单元格的行号,吭哧吭哧地搜了很多方法,最后整理出方法一,结果偶然发现有个更简单的方法,一行代码就能解决问题。特此将两种方法整理总结一下。
方法一:遍历某列所有元素,得到最后一个非空单元格的行号
该方法适用于表格内容连续的情况,如果单元格行之间有空格,则该方法失效,只能获取到第一个空单元格的前一个非空单元格。
/// <summary>/// 获取某WorkSheet某列最后一个非空单元格的行号/// </summary>/// <param name="sheet">表单</param>/// <param name="columnNum">要查询的列号</param>/// <param name="startRowNum">起始行号</param>/// <returns></returns>public static int GetUsedRowNum(Worksheet sheet, int columnNum, int startRowNum){EXCEL excel = (EXCEL)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");var activeWorkbook = excel.ActiveWorkbook;int j = 0;for (int i = startRowNum; i < 1000000; i++){var cell = (Range)sheet.Cells[i, columnNum];if (cell.Text == ""){j = i + startRowNum - 1;break;}else{continue;}}return j;}
方法二:推荐用法
该方法适用于任意表格,总能获取到某列最后一个非空单元格
Range rq00 = sheet1.Range["A65536"].End[XlDirection.xlUp];