最近接到一个需求,用Java写数据到excel,遇到一些问题,在这里请教一下大家。
首先,我这个是在原有的excel上做修改;
我的excel有两个sheet,在sheet2中会有引用到sheet1中单元格的求和函数;
我写数据到sheet1(写入成功了),打开excel,发现sheet1的数据是有的,但是sheet2中求和函数的单元格的值没有变化;这是什么原因?
我也查过一些资料,发现poi修改之后,要刷新公式才能更新数据,然后有如下代码:
workBook.setForceFormulaRecalculation(true);
但是,问题并没有得到解决;
后来,我发现重新编辑一下sheet1的单元格(其实数据并没有发生改变,但是数据显示格式会改变),数据会按设定好的精度来显示;然后,再打开sheet2,发现公式又生效了。而且只对编辑过的数据生效。
所以,我就想是不是因为没有按照精度显示,所以excel没法识别?
那么,怎么才能实现按照默认精度来显示呢?
编辑前: 编辑后:;
谢谢大家了!很急!
....正准备说你这个数据写入的类型问题~~~带绿色角标的都是文本类型
好的,谢谢了D:
找到原因了,是因为我插入的数据类型不对,应该是double,而我写成了String类型。。