【问题标题】:SpreadsheetGear - check if IRange has valuesSpreadsheetGear - 检查 IRange 是否有值
【发布时间】:2013-10-29 01:15:39
【问题描述】:

如何检查特定的 SpreadsheetGear IRange 是否包含值(=非空白单元格)?

在 Excel 中,我可以使用 COUNTA 函数,但在 SpreadsheetGear 中没有。

【问题讨论】:

    标签: .net range spreadsheetgear


    【解决方案1】:

    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)
    猜你喜欢
    • 2017-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-16
    • 2012-11-06
    • 1970-01-01
    相关资源
    最近更新 更多