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