如何阻止 Excel 自动将值 0503E000 转换为 5.03E+02?

Cra*_*ide 25 csv xls microsoft-excel

Excel在CSV中自动将任何单元格中的值0503E000转换为5.03E+02我试图将其转换为文本数字和一般但在我保存并再次重新打开后它又回到5.03E+02

我如何阻止这种情况发生?

bri*_*ary 34

如果您可以转换或控制 CSV 格式,则可以通过将列用双引号括起来并在前面加上等号来强制将列解析为 Excel 中的文本。

Excel 会不小心丢弃这种格式的精度:

Value,0503E000,1234123412341234
Run Code Online (Sandbox Code Playgroud)

甚至这种格式:

Value,"0503E000","1234123412341234"
Run Code Online (Sandbox Code Playgroud)

将其转换为:

Value  |  5.03E+02  |  1234123412341230
Run Code Online (Sandbox Code Playgroud)

但是,添加等号会迫使 Excel 不情愿地保留您的数据:

Value,="0503E000",="1234123412341234"
Run Code Online (Sandbox Code Playgroud)

...打开为:

Value  |  0503E000  |  1234123412341234
Run Code Online (Sandbox Code Playgroud)


小智 17

我认为这里的关键问题是您使用的是 CSV,其中没有嵌入单元格类型。Excel 会自动尝试将单元格解释为具有科学数字,这就是您看到5.03E+02而不是0503E000 的原因

尝试创建 Excel 工作簿并将所有单元格格式化为文本,然后粘贴数据。我在 Excel 2013 中尝试过,它奏效了。


Ron*_*eld 9

而不是在 Excel中打开“CSV 文件,选择导入文件(在 Excel 2007-2010 中,您将导航到数据功能区/获取外部数据/从文本)。不确定 2013 年,但应该有类似的东西。当你这样做,文本导入向导将打开并让你有机会将包含该值的列格式化为文本,然后 Excel(不是很有帮助)将其更改为数值。

  • @pepoluan 谢谢。如果我理解了“这个”,剩下的就很清楚了。猜猜我老了:-( (4认同)
  • 我原以为用“this”作为一个完整的句子会很快死去,但四年后,它一如既往地强烈。 (2认同)