当单元格内容为数值型时,我如何直接当作字符串来处理呢?
我的处理方法如下:
String test = String.valueOf(cell.getNumericCellValue());//缺陷:比如,值为2时,我得到的值确是:2.0,而我只想要2,如果数值很大,则变成科学计数了,后面有E,这也不是想要的.String test = cell.getStringCellValue();//缺陷:过时的方法,有问题,我的poi版本为3.0,低版本好像可以解决,这个不算String test = cell.getRichStringCellValue().getString();//数值型不可用,出错不知道是否还有其它方法解决这个问题呢?请有这方面经验的高人指点一二,谢了.

解决方案 »

  1.   

    把number转成你要的精度,再转成String仍然用getNumbericCellValue
      

  2.   

    用new java.text.DecimalFormat("0.######")来进行格式化
      

  3.   

    搞来搞去最后问题变成了如何把double型转精确的转为字符串的了,这样跟poi没关系的了.
    这个问题找了下,似乎还是无解的,主要还是精度未知,并且格式化后若四舍五入了,值实际上也变了.
    估计真的是无解的了
      

  4.   

    将取得的值用BigDecimal数据类型封装,在转换为String类型试试
      

  5.   

    POI很早以前用过,
    已经很久了
    早忘了。
    抱歉··
      

  6.   

    这个问题如果只是取到double的值,那无论什么方法,都没办法恢复原样的.
    唯一解决的方案是取字符串,这时只能在excel中输入数值时,要转化为字符串,只要取字符串,才是一模一样的,
    其它的,转来转去,都不可靠的.
    好了,感谢各位参与,结了.