我们都知道 Excel从导入的 CSV 文件中删除前导零的恼人行为
我是一名开发人员,我想编写一个导出功能,创建一个 CSV 文件,强制 Excel 保留前导零。
我希望“012345”会导致 012345,但即便如此,Excel 2010 也会去掉前导零;(
将文件命名为 *.txt 而不是 *.csv 会强制 Excel 使用向导,如https://www.youtube.com/watch?v=9KDK1FRcmSo建议的那样。但我真的怀疑用户是否知道如何操作向导。他必须将 30 列之一的数据类型从“常规”更改为“文本”。我相信用户只会单击“下一步”、“下一步”、“完成”。
有没有更好的办法避免使用向导?
将 CSV 文件导入 Excel 时,是否有官方字符来“屏蔽”零?我试过 '(打字机撇号)。但是'0123
在 Excel 中输入与使用'0123
.
感谢所有评论和回答!感谢用户 Ron Rosenfeld,他的建议导致了这个实现:
这行得通,并且在公式引用时该数字仍被视为数字:
在 CSV 中显示的示例编号是 00141。CSV
文件行:
我能想到的唯一进一步的想法是:
分发 Excel 文件而不是 CSV
对于您的用户,请安装您自己的 CSV 文件查看器。有很多这样的免费查看器,或者您可以编写自己的脚本或程序,将 CSV 正确导入临时 Excel 电子表格。
(这不再有效:)
避免 Excel 在导入数字数据时删除零的唯一方法是不要有数字字段。
您可以通过用双引号括起这些字段来实现这一点,这样 Excel 会将它们解释为文本,如下所示:
"000123"
。您可以这样做,因为您可以控制导出。
尝试:
所以:
顺便说一句:没有冒号,没有空格