读书人

POI读取Excel中数目字的方法

发布时间: 2012-10-24 14:15:58 作者: rapoo

POI读取Excel中数字的方法

????? 前段时间做了些和poi打交道的一些工作,发现处理数字不是很容易。如果数字是“2”的话,读到的值却是“2.0”,而且数位稍微长点的时候就会成了科学记数的形式。我是这么处理的:

????? if (整数)

?????????????? new? BIgDecimal();

????? else if (小数)

????????????? BIgDecimal.valueOf();

是麻烦了点,但是达到目的了。不知道大家的方法是怎么处理的,可以交流一下。

POI读取Excel中数目字的方法

?

ps: 前些天卓越上那本10元钱的《深入理解计算机系统》已经到货了,拿在手上沉甸甸的还真的有些不相信是真的。我订了这本书之后,马上就发了一个帖子告诉大家,还被瞬间顶到javaeye首页。看看留言好像很多人最终都没有拿到书,订单都被取消了,可惜了。我觉得这应该是卓越的一个失误,但是它应该为它的失误而买单,不应该把失误的责任转移到消费者头上,何来诚信可言?

1 楼 luckaway 2008-10-06 java.text.DecimalFormat formatter = new java.text.DecimalFormat("########");
String str = formatter.format(cell.getNumericCellValue());
我的都是十位整数的!你研究研究,可以不可以做的通用点的!
2 楼 haoyy 2008-10-07 我的书还没拿到 3 楼 haoyy 2008-10-07 请教,我怎么读成int??我现在强制转化的 4 楼 congjl2002 2008-10-07 我就说吗,这个问题肯定很多人遇到,但是那天用的时候太着急了,没怎么想就直接用index(".")来获得整数部分
lz的方法比我的好多了,不过我想应该有更好的,在研究研究 5 楼 mida 2008-11-14 那长整数怎么转换呢?就是 不显示成科学计数法 6 楼 everbird 2009-10-01 以上提到个各种方法,如果遇到原始数据是数字字符串但是以0开头怎么办?例如:000123,在被POI读成double时,原始数据开头的0已经丢失了哦,最后也只能得到123 7 楼 cclxy1984 2010-04-21 LZ,我也遇到这样的问题。我的数字是123,这个CELL我设成的是文本,也就是说我在后台想要得到的是字符串123。但是POI读的时候,会把这个CELL判断成数字类型,值就变成了123.0。不知道LZ有什么好办法解决吗? 8 楼 simplejacky2009 2010-06-23 我是这么弄的
cell = codeSystemSheet.getRow (k).getCell (2);
cell.setCellType (Cell.CELL_TYPE_STRING);
System.out.println(cell.toString ()); 9 楼 qqpet 2011-11-08 这玩意不灵滴,读数据很差,如果excel2007中数据应该读取为字符串格式的,你就无法判断具体数据是那种情况,比如:
我想取cell中的字符串包括这几种可能:0.123,123f,0.127P,128.P.(注意字符串中的“.”)
试问各位如何处理呢? 10 楼 qqpet 2011-11-08 最好的办法就是读取是,在表格中限定数值类型数据为文本(就是表格左上方出现绿色小三角那种)

读书人网 >软件架构设计

热点推荐