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

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

Excel 自动将 CSV 中任意单元格中的值 0503E000 转换为 5.03E+02 我尝试将其转换为文本数字和常规,但在我保存并重新打开它后,它又回到了 5.03E+02

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

答案1

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

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

答案2

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

Excel 会粗心地丢弃以下格式的精度:

Value,0503E000,1234123412341234

或者甚至是这种格式:

Value,"0503E000","1234123412341234"

将其转换为:

Value  |  5.03E+02  |  1234123412341230

然而,添加等号会强制 Excel 勉强保留您的数据:

Value,="0503E000",="1234123412341234"

…打开后显示为:

Value  |  0503E000  |  1234123412341234

答案3

代替打开在 Excel 中编辑 CSV 文件,选择进口文件(在 Excel 2007-2010 中,您将导航到数据功能区/获取外部数据/来自文本)。不确定 2013 年是否如此,但应该有类似的东西。当您这样做时,文本导入向导将打开,并为您提供将包含该值的列格式化为文本的机会,然后 Excel(不太有帮助)将其更改为数字值。

答案4

尝试通过 MS excel 中的 DATA 选项加载文件(从 DB 表中提取的数据),然后只需在加载时选择“数据类型检测”下的“不检测数据类型”,然后加载,这将保持数据的格式并加载 excel,无需任何列转换。

相关内容