您的位置:首页 > 编程语言 > Java开发

java使用poi解析或处理excel的时候,如何防止数字变成科学计数法的形式

2015-08-24 15:41 676 查看
当使用POI处理excel的时候,遇到了比较长的数字,虽然excel里面设置该单元格是文本类型的,但是POI的cell的类型就会变成数字类型。 

而且无论数字是否小数,使用cell.getNumbericCellValue() 去获取值的时候,会得到一个double,而且当长度大一点的时候会变成科学计数法形式。 

那么获取这个单元格的原始的数据,就其实是一个double怎么转换成整数的问题了。 

使用DecimalFormat对这个double进行了格式话,随后使用format方法获得的String就是你想要的值了。 

Java代码  


DecimalFormat df = new DecimalFormat("0");  

  

String whatYourWant = df.format(cell.getNumericCellValue());  

Example:



public static void main(String[] args) throws IOException {
File excelFile = new File(path);
FileInputStream is = new FileInputStream(excelFile);// 获取文件输入流
XSSFWorkbook workbook2007 = new XSSFWorkbook(is);
XSSFCell cell = workbook2007.getSheetAt(0).getRow(1).getCell(2);
// cell.setCellType(XSSFCell.CELL_TYPE_STRING);
DecimalFormat df = new DecimalFormat("0");
String a = String.valueOf(df.format(cell.getNumericCellValue()));

System.out.println(a);
//
// write();
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: