天天看点

Jxl 中Cell获取到的excel数据保留精度问题

在使用Jxl获取excel中指定的某行某列数据时,发现获取数据精度值保留到小数点后三位,对于某些精度高的数据来说,这就成了一个大的问题,在查阅相关API后,发现在Cell下边有很多子接口,例如NumberCell、DateCell等,猜想获取的数据类型和这些子接口应该会一一对应,因此,利用NumberCell对其进行验证,将原来的Cell替换,代码如下:

numberCell = (NumberCell) readsheet.getCell(rows, i);
if (CellType.NUMBER == numberCell.getType()) {
	age[i] = numberCell.getValue();
}
           

最终发现,原来获取不到的第四位小数之后的位数均获取到,因此得出结论:在利用Jxl读取excel数据时,首先要明确数据类型,通过if语句来判断数据类型,然后确定使用哪个子接口。