【问题标题】:Preventing numbers from appearing in exponential format in excel防止数字在excel中以指数格式出现
【发布时间】:2012-09-28 07:35:36
【问题描述】:

我在我的 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 文件中是指数格式吗?旁注,您可能不想使用数字作为电话号码,而是使用字符串,否则您会遇到电话号码以 0 开头的问题。
  • 谢谢罗杰,但我将它用作字符串。我以正常的十进制格式输出它。

标签: java excel csv


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-30
    • 1970-01-01
    • 1970-01-01
    • 2019-01-04
    • 2015-03-30
    • 2016-05-17
    相关资源
    最近更新 更多