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



我在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,第一个参数是要填充的值,第二个参数是列标题。

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

问题是Excel试图聪明地猜测字段的类型,而全数字字段是一个"数字",默认情况下它以指数(科学)格式显示。

请参阅Excel CSV-数字单元格格式,这里有一些非常好的答案。

最新更新