我想在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
答案 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:我不太确定细胞的“价值”属性,所以你可能不得不改变它 希望它有所帮助!