Excel CSV-数字单元格格式
我以CSV文件的形式生成报告。 当我尝试在Excel中打开文件时,它会根据单元格的内容假设数据类型,并相应地重新格式化 例如,如果CSV文件包含Excel CSV-数字单元格格式,excel,csv,formatting,number-formatting,Excel,Csv,Formatting,Number Formatting,我以CSV文件的形式生成报告。 当我尝试在Excel中打开文件时,它会根据单元格的内容假设数据类型,并相应地重新格式化 例如,如果CSV文件包含 ...,005,... 然后Excel将其显示为5。 是否有方法覆盖此选项并显示005 我更愿意对文件本身做些什么,这样用户就可以双击CSV文件来打开它 我使用Excel 2003。您只需将范围格式化为文本即可 这也是一篇关于数字格式以及如何编程的好文章。我相信当您导入文件时,您可以选择列类型。将其设置为文本而不是数字。目前我面前没有要检查的副本。打
...,005,...
然后Excel将其显示为5。
是否有方法覆盖此选项并显示005
我更愿意对文件本身做些什么,这样用户就可以双击CSV文件来打开它
我使用Excel 2003。您只需将范围格式化为文本即可
这也是一篇关于数字格式以及如何编程的好文章。我相信当您导入文件时,您可以选择列类型。将其设置为文本而不是数字。目前我面前没有要检查的副本。打开CSV时,您会看到文本导入向导。在向导的最后一步,您应该能够将特定列作为文本导入,从而保留“00”前缀。然后,您可以按照自己的方式格式化单元格
我尝试使用Excel 2007,但它似乎可以工作。不要使用CSV,请使用SYLK。
它对格式提供了更多的控制,Excel不会试图通过检查内容来猜测字段的类型。它看起来有点复杂,但您可以使用一个非常小的子集。实际上,我发现,至少从Office 2003开始,您可以将Excel电子表格保存为XML文件。 因此,我可以生成一个XML文件,当我双击它时,它将在Excel中打开。
它提供与SYLK相同的控制级别,但XML语法更直观。打开.csv文件时,没有一种简单的方法可以控制Excel应用的格式设置。然而,下面列出的三种方法可能会有所帮助 我的偏好是第一个选择 选项1–更改文件中的数据 您可以按如下方式更改.csv文件中的数据…,=“005”,。。。 这将在Excel中显示为…,005 Excel会将数据保留为公式,但复制列并使用“粘贴特殊值”将删除公式,但保留格式 选项2–格式化数据 如果它只是一个格式问题,并且该列中的所有数据都有三位数的长度。然后在Excel中打开数据,然后使用此自定义格式设置包含数据的列的格式000 选项3–将文件扩展名更改为.dif(数据交换格式) 更改文件扩展名并使用文件导入向导控制格式。 双击时,Excel会自动打开扩展名为.dif的文件 逐步:
- 将文件扩展名从.csv更改为.dif
- 双击该文件以在Excel中打开它
- 将启动“文件导入向导”
- 将“文件类型”设置为“分隔”,然后单击“下一步”按钮
- 在“分隔符”下,勾选“逗号”,然后单击“下一步”按钮
- 单击显示的数据的每一列,然后选择“列数据格式”。值为“005”的列应设置为“文本”格式
- 单击finish按钮,Excel将以您指定的格式打开该文件
出于我的目的,我使用xslt以我想要的方式获取ti—但我正在解析各种各样的文件。在字段前面加上一个引号。Excel会将其视为文本,即使它看起来像一个数字
...,`005,...
编辑:这是错误的。撇号技巧仅在将数据直接输入Excel时有效。当您在CSV文件中使用它时,撇号会出现在字段中,这是您不需要的
我知道这是一个老问题,但我有一个解决方案,这里没有列出 生成csv时,请在逗号之后、值之前添加空格,例如
、005、
这可以防止excel 2007中自动设置日期格式。当导入的CSV文件在单元格中有换行符时,文本导入向导方法不起作用。此方法处理此场景(至少使用制表符分隔的数据):
这适用于Microsoft Office 2010 Excel 14版
我误读了OP的偏好“对文件本身做点什么”。我仍然为那些希望直接格式化导入的解决方案的人保留这个选项
在单元格中添加一个不间断的空格可能会有所帮助。 例如:
“firstvalue”;“第二价值”;"005 ";“其他值”
它强制Excel将其视为文本,并且空间不可见。
在Windows上,您可以添加非br