Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 防止数字在excel中以指数格式出现_Java_Excel_Csv - Fatal编程技术网

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

Java 防止数字在excel中以指数格式出现,java,excel,csv,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位时,它将以指数格式

我在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试图聪明地猜测字段的类型,所有数字字段都是数字,默认情况下以指数科学格式显示


看,这里有一些非常好的答案。

如何将数字输出到文件中?在CSV文件中是否为指数格式。请注意,您可能不希望将数字用作电话号码,而希望将其用作字符串,否则您将遇到以0开头的电话号码的问题。谢谢罗杰,但我将其用作字符串。我以正常的十进制格式输出它。