日期:2014-05-17  浏览次数:20732 次

求助POI导入EXCEL问题
各位大哥大姐。小弟碰到一个问题不好解决。我导入一个excel文件。里面有列字段是金额。我设置的excel格式是字符串。里面的金额是5178.81, 结果poi解析完了得到的值是5178.810000000000004。我用的是网上的通用代码,是不是poi富文本解析的底层还是浮点数啊。我怎么解决啊?

public void endElement(String uri, String localName, String name)   
            throws SAXException {   
        // 根据SST的索引值的到单元格的真正要存储的字符串   
        // 这时characters()方法可能会被调用多次   
        if (nextIsString) {   
            try {   
                int idx = Integer.parseInt(lastContents);   
                lastContents = new XSSFRichTextString(sst.getEntryAt(idx))   
                        .toString();   
            } catch (Exception e) {   
  
            }   
        }   
  
        // v => 单元格的值,如果单元格是字符串则v标签的值为该字符串在SST中的索引   
        // 将单元格内容加入rowlist中,在这之前先去掉字符串前后的空白符   
        if (name.equals("v")) {   
            String value = lastContents.trim();   
//            value = value.equals("")?"":value;   
            int cols = curCol-preCol;   
            if (cols>1){   
                for (int i = 0;i < cols-1;i++){   
                    rowlist.add(preCol,"");   
                }   
            }   
            preCol = curCol;   
            rowlist.add(curCol-1, value);
excel poi

------解决方案--------------------
试试在excel里把值设为  '5178.81
------解决方案--------------------
引用:
各位大哥大姐。小弟碰到一个问题不好解决。我导入一个excel文件。里面有列字段是金额。我设置的excel格式是字符串。里面