如何防止Excel在CSV文件中截断数字?

7 浏览
0 Comments

如何防止Excel在CSV文件中截断数字?

我的CSV文件的前几行如下(在Notepad++中查看时):

追踪号,原始序列号,新序列号

0000073800000000097612345678901234567890,0054,0001

当我在Excel中打开此文件时,结果如下图所示:

enter image description here

由于某种原因,Excel截断了序列号和追踪号。我尝试将格式更改为文本,但仍然不起作用,因为Excel只看到前面的6位数:

7.38000000000976E+34

如果我将其改为数值

73800000000097600000000000000000000.00

我该怎么办?我只有60行数据,所以如果必须重新开始并将文本复制到Excel中,我会这样做,但我担心保存后格式会再次更改。

0
0 Comments

如何防止Excel在CSV文件中截断数字?

问题的原因:

当将CSV文件导入Excel时,Excel会自动将数字格式化为其默认的数值格式。这导致在某些情况下,Excel会截断较长的数字,只显示一部分。

解决方法:

有几种方法可以防止Excel截断CSV文件中的数字。

1. 在数字的开头和结尾添加非数字字符(例如下划线"_")。这将强制Excel将其识别为文本。然后,在下游环境(如SQL、Databricks等)中删除这些下划线,或者如果不影响报告,可以保留它们。

2. 可以尝试在数字周围添加引号。例如:"0000073800000000097612345678901234567890"。这样做可以告诉Excel将其视为文本,而不是数值。

这些方法可以确保在将CSV文件导入Excel时,数字不会被截断。这对于需要保留完整数字的应用程序和分析非常重要。

0
0 Comments

问题原因:Excel在尝试通过格式化输入值来“帮助”用户。为了避免这种情况发生,不要双击打开文件,而是打开“数据”选项卡,在“获取外部数据”部分,点击“从文本”按钮。

解决方法:告诉导入向导字段是文本类型。

0
0 Comments

原因:Excel在导入CSV文件时会自动进行数据类型推断,导致一些数字被截断或格式化不正确。

解决方法:使用Excel的文本导入向导,在数据选项卡下点击"获取外部数据",然后选择"从文本"并选择CSV文件。在向导中,可以告诉Excel每个"列"的数据类型,并将条形码列设置为文本类型。保存为xlsx格式后,格式将会被保留。

以下是一位用户的反馈,表示这个方法有效,并提到如果其他人打开文件时也能看到期望的格式。

五年后,该答案仍然有用。也许微软不应该把事情搞得这么复杂。感谢!

0