判断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;

            //.........................

          }

        }

你可能感兴趣的:(Excel)