【发布时间】:2013-10-29 01:15:39
【问题描述】:
如何检查特定的 SpreadsheetGear IRange 是否包含值(=非空白单元格)?
在 Excel 中,我可以使用 COUNTA 函数,但在 SpreadsheetGear 中没有。
【问题讨论】:
标签: .net range spreadsheetgear
如何检查特定的 SpreadsheetGear IRange 是否包含值(=非空白单元格)?
在 Excel 中,我可以使用 COUNTA 函数,但在 SpreadsheetGear 中没有。
【问题讨论】:
标签: .net range spreadsheetgear
SpreadsheetGear 确实支持 COUNTA 函数。您可以将其作为公式的一部分直接输入到单元格中。或者,您可以使用 ISheet.EvaluateValue(...) 方法来计算公式,而无需将其实际输入到单元格中。示例:
// Count the number of non-empty cells in A1:A12 on the specified worksheet
double count = (double)worksheet.EvaluateValue("COUNTA(A1:A12)");
您也可以使用 SpreadsheeGear API 构建自己的计数例程。下面的代码可能是一个很好的起点:
int counter = 0;
foreach (IRange cell in worksheet.Cells["A1:A12"])
{
if (cell.ValueType != SpreadsheetGear.ValueType.Empty)
counter++;
}
【讨论】:
SpreadsheetGear.ValueType.Empty 不同。对我有用的是if (cell.Text != string.Empty)。