表格算出来的结果不对怎么办(表格中公式正确但是计算不出数据)

工作中经常会用到EXCEL表,而EXCEL表中也会经常运用到公式计算。

如果遇到公式计算的数据导入网页端系统,问题来了。

前段时间公司系统涉及导入数据,发现有一部分人在系统里面显示的性别为“未知”。

研究提供的导入原始excel文件发现,其中性别、出生日期、年龄三个值是通过特殊的excel公式从身份证一列计算的来的。

问题的根源是解析excel性别的时候遇到单元格中内容为一串公式,无法匹配到正常的性别,所以导入系统时,系统设置为未知。

那么该如何解决问题呢?

从表面解决问题

如果数据量比较小,且该问题今后不会再出现,可以手工修改数据。

直接从系统找到对应的订单修改性别即可。

但该处理方案,治标不治本。

从系统入口解决问题

制作导入系统的excel表的时候,复制内容注意,如果遇到有公式的文档,需要特殊处理。

首先选中需要复制的单元格,进行复制;

然后复制到目的单元格,点击右键,选择性粘贴,

在弹出的窗口中选择数值,

这样操作后,就会把公式计算后的结果复制过来,而不是把整个公式复制过来。

从系统根源解决问题

通过对解析excel文件的程序进行优化。

扫描解析excel文件的时候,获取每个单元格中内容过程中,加上一个逻辑判断,根据单元格中内容的格式分别进行处理。

如果遇到格式为CellType.FORMULA,不是直接获取内容,调用第三方库提供的方法,获取通过公式计算后的结果值。

XSSFFormulaEvaluator eva = new XSSFFormulaEvaluator(hssfworkbook);
eva.Evaluate(row.GetCell(j)).StringValue;
(0)

相关推荐