我正在尝试获取列总数,以便可以将我的范围从C列设置为N列。我试图遍历每一列并将所需的数据提取到数组中,直到到达包含数据的最后一列。
我尝试了下面的适用于一行的内容,但我没有其他任何内容。
IRange strategyname = foratworkbook.Worksheets["Strategy"].Cells["C4"].CurrentRegion;
C D E
9.040% 10.910% 6.050%
4.920% 5.510% 3.430%
53.030% 64.400% 36.030%
有任何想法吗?谢谢
如果知道数组的最大大小,则可以将整个表A:N x行数作为DataTable拉入C#,找到第一个空列和第一个空行,然后从该DataTable中删除空列和行。这是一个相当快速而直接的过程。
这些函数应返回数据表中的第一个空行和列
public static int findNullRow(DataTable dt)
{
int row = 0;
for (int a = 0; a < dt.Rows.Count; a++)
{
if (dt.Rows[a][0] == null)
{
row = a;
break;
}
}
return row;
}
public static int findNullColumn(DataTable dt)
{
int col = 0;
for (int i = 0; i < dt.Columns.Count; i++)
{
if (dt.Rows[0][i] == null)
{
col = i;
break;
}
}
return col;
}
替代方法是在电子表格的第一行中迭代工作,以提取单个单元格值并进行测试以找到第一个空列。对数据的第一列执行相同的操作,直到找到第一个空行。
我的感觉是,除非潜在的行数非常大,否则第一种方法会更快。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句