C# 如何使用C“Excel”;“Microsoft.Office.Interop.Excel”;,计算一列中非空单元格的数量

C# 如何使用C“Excel”;“Microsoft.Office.Interop.Excel”;,计算一列中非空单元格的数量,c#,excel,office-interop,C#,Excel,Office Interop,所以我有这个电子表格,它有Fname,Lname,Pnumber,Email,Cid。Cid是唯一真正重要的,其余的在技术上是可选的 因此,我知道您可以使用 CountA(大约30个不同的变量,我不了解,但也是可选的) 获取填充单元格的实际数量,这是即时的。我不知道怎么做 这就是我要做的viva循环,但我知道CountA()函数可以在一行中完成 int i = 1; while (i <= 200) { cell = (Microsoft.Office.Interop.Excel.

所以我有这个电子表格,它有Fname,Lname,Pnumber,Email,Cid。Cid是唯一真正重要的,其余的在技术上是可选的

因此,我知道您可以使用

CountA(大约30个不同的变量,我不了解,但也是可选的)

获取填充单元格的实际数量,这是即时的。我不知道怎么做

这就是我要做的viva循环,但我知道CountA()函数可以在一行中完成

int i = 1;
while (i <= 200)
{
    cell = (Microsoft.Office.Interop.Excel.Range)worksheet.Cells[i, 5];
    if (cell.Value2 > 0)
    {i++;}
    else
    {break;}
}
int totalCol = i;

我现在不在IDE中,但这应该可以做到:

    Dim cl As Microsoft.Office.Interop.Excel.Range
    cl.Formula = "=CountA(E1:E200)"
    myVal = cl.Value

range.Value2为您提供了范围中项目的对象数组。这是在c#中,我可能应该指定它。对不起,我不习惯Excel库。好的,我已经开始使用了,谢谢。我一直不知道它希望所有东西都保持为双精度,我一直使用integers.var cell=(Microsoft.Office.Interop.Excel.Range)worksheet.Cells[1,1];cell.Formula=“=CountA(E1:E200)”;double totalCells=(cell.Value2)-1;
    Dim cl As Microsoft.Office.Interop.Excel.Range
    cl.Formula = "=CountA(E1:E200)"
    myVal = cl.Value