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,无需任何列转换。