防止数字在excel中以指数格式出现

时间:2012-09-28 07:35:37

标签: java excel csv

我在java类中使用以下映射

Map<String,String> fieldNameMap=new LinkedHashMap<String,String>();
     fieldNameMap.put("provLocation", "Location");
     fieldNameMap.put("deviceOwnerTn","Owner Telephone Number");

我将其作为csv下载提供。但是在第二项的情况下,当数字超过5或6位数时,它会以指数格式显示在excel中(例如1.235E + 09)。我想避免这种情况。一种可能的解决方案是将其用单引号括起来(例如'1234567890')。但我该怎么做呢?请帮忙!

注意:对于fieldNameMap,第一个参数是要填充的值,第二个参数是列标题。

1 个答案:

答案 0 :(得分:0)

据我所知,CSV中的输出是您想要的方式(没有指数),但Excel会以您不想要的格式显示它。

问题是Excel尝试智能并猜测字段的类型,并且所有数字字段都是“数字”,默认情况下它以指数(科学)格式显示。

Excel CSV - Number Cell Format,有一些非常好的答案。