在excel中获取行的长度

时间:2015-06-09 19:04:15

标签: c# excel row

我想在c#的列表中放入一些excel行。 目前我用这个:

private static Microsoft.Office.Interop.Excel.ApplicationClass appExcel;
private static Workbook newWorkbook = null;
private static _Worksheet objsheet = null;

for (int j = 1; j < 3000; j++)
{
  list.add(excel_getValue("A"+j)); //ROW A in excel
}

我的excel行(A)长约2800,并且可以添加一些东西,这就是为什么我做到3000只是为了确定。但有没有办法获得特定行中填充的colomns的确切数量? 类似的东西:

objsheet.get_Range("A").EntireRow.Height(); //this doesn't work

2 个答案:

答案 0 :(得分:1)

无法找到明确的解决方案,因此将执行以下操作来修复它:

在Excel中,我将第一行的第一列留空,其中包含一个总和:它只是总结了它下面的单元格中的所有数据,如果它已满,它将计算+1 else +0,而我是要在C#中读取该数字。 :)

在Excel中使用此公式:

=COUNTA(A2:A5000)

答案 1 :(得分:1)

这很聪明,但我不会这样做,因为用户实际上可以修改该号码。我宁愿把这个行弄成行,直到单元格为空,我认为那个单元格是我的结尾

bool endReach=false;    
for (int j = 1; !endReach; j++)
    {
      if(excel_getValue("A"+j) == "" && excel_getValue("A"+(j+1)) == "")
      {
             endReach=true;
       }else{
             list.add(excel_getValue("A"+j)); //ROW A in excel
       }
    }

要小心,因为如果用户填写所有行,它可能会抛出异常。 PS:我不太确定细胞的“价值”属性,所以你可能不得不改变它 希望它有所帮助!