判断Excel单元格中是否有错

在一个封装的Excel操作类,遍历的时候需要判断某个单元格是否有错。因为可能这个单元格是配置计算公式的,在公式参数为空时,提示错误是正常的。因此,如果提示单元格有错,应该跳过,而不应该继续取这个单元格值。

有Cell类中,简单地增加一个只读属性字段来实现些功能。

    dynamic _cell = null;

    public dynamic Cell
        {
            get
            {
                return _cell;
            }
            set
            {
                if (value != null)
                    _cell = value;
            }
        }

     /// <summary>
        /// 检查当前单元格是否有错
        /// </summary>
        public bool HasError
        {
            get
            {
                var errors = new List<string>{"#DIV/0!","#N/A","#NAME?","#NULL!","#NUM!","#RRF!","#VALUE!"}
                ;
                if (errors.Any(i => i == _cell.Text.ToString().ToUpper()))
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
        }

 

使用时:

      //遍历当前的Range
            for (int j = 2; j <= range.RowsCount; j++)
            {
                for (int k = 1; k <= range.ColumnsCount; k++)
                {
                  

                    var cell = workSheet.GetCell(j, k);

                    if (cell.HasError)
                    {
                        continue;
                    }
                    var cellValue = cell.Value;
            //.........................
          }
        }
posted @ 2012-11-22 11:45  One Ivan  阅读(599)  评论(0编辑  收藏  举报