获取 excel 中一行的长度
Getting the length of a row in excel
我想将 excel 的一些行放入 c# 的列表中。
目前我使用这个:
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 以确保万无一失。但是有没有办法获得特定行中填充列的确切数量?
类似于:
objsheet.get_Range("A").EntireRow.Height(); //this doesn't work
找不到明确的解决方案,因此将执行以下操作来解决它:
在Excel中,我将第一行的第一列留空,其中有一个总和:它只是总结了它下面单元格中的所有数据,如果它已满,它将计数+1,否则+ 0,我将在 C# 中读取该数字。 :)
在Excel中使用这个公式:
=COUNTA(A2:A5000)
这很聪明,但我不会那样做,因为用户实际上可以修改该号码。我宁愿 cicle 行直到单元格为空,我认为那个单元格是我的 cicle 的末尾
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:我不太确定单元格的 "value" 属性,因此您可能需要更改它。
希望对您有所帮助!
我想将 excel 的一些行放入 c# 的列表中。 目前我使用这个:
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 以确保万无一失。但是有没有办法获得特定行中填充列的确切数量? 类似于:
objsheet.get_Range("A").EntireRow.Height(); //this doesn't work
找不到明确的解决方案,因此将执行以下操作来解决它:
在Excel中,我将第一行的第一列留空,其中有一个总和:它只是总结了它下面单元格中的所有数据,如果它已满,它将计数+1,否则+ 0,我将在 C# 中读取该数字。 :)
在Excel中使用这个公式:
=COUNTA(A2:A5000)
这很聪明,但我不会那样做,因为用户实际上可以修改该号码。我宁愿 cicle 行直到单元格为空,我认为那个单元格是我的 cicle 的末尾
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:我不太确定单元格的 "value" 属性,因此您可能需要更改它。
希望对您有所帮助!