Excel更改日期格式

12

我运行一个进程生成一个相当大的数据CSV文件。有时,我发现在Excel中手动更改CSV文件并重新保存会很有帮助。然而,如果CSV中有日期,Excel会自动重新格式化它们。是否有一种方法可以防止Excel这样做?如果我能完全关闭所有文本格式设置,那将会很有帮助。


3
我曾经遇到过Excel将yyyy-mm-dd更改为本地日期格式的问题。对于我来说,最简单的解决方法是决定如果需要修改CSV文件,则使用文本编辑器而不是Excel。 - pavium
2
将文件重命名为 .txt,然后您就可以获得导入向导。在向导中,您可以将列标记为文本。 - adrianm
4个回答

6
如果在导出过程中在任何日期字符串的开头添加撇号',Excel将按照字面意义读取该值(即作为纯文本),而不是尝试将其转换为日期。这个特定的解决方案是在导出过程中处理的。我不确定如何在运行时更改Excel以不同方式处理文件。

在此响应中将“append”更改为“prepend”。 - kikito
1
即使在导出过程中在开头和结尾添加空格" ",它仍然可以正常工作。 - Swetha

4

Excel在输出XML时会进行一些不好的技巧。其中一个技巧是,如果16行或更多连续的行没有这些列的值,则删除最左侧的列分隔符。这意味着,如果你基于逗号分割行,则这些行将与其余行具有不同数量的列。

它还会删除任何初始的0,因此像数字ID这样的东西可能会出错。

另一个风险是文件被截短,因为Excel只支持最大行数。(在Excel 2007之前,这个数字约为65536)

如果你需要对CSV文件进行任何操作而不仅仅是读取,请使用文本编辑器


3
当你将CSV文件导入Excel时,请确保预先将日期列格式化为文本。在解析中有一个经常被忽视的选项,它允许你逐列控制格式。这对于防止新英格兰邮政编码的前导零被丢弃在联系人列表中也非常有效。

1
如果您使用的是2010年或之后的Excel文件版本(不确定较低版本),您可以在Excel / CSV文件中设置是否使用当前操作系统日期格式。
  1. 右键单击CSV文件中具有日期值(例如“ 9/12/2013”)的单元格,弹出菜单
  2. 单击“格式单元格”并打开弹出屏幕
  3. 转到“数字”选项卡,您可以看到“分类”(左侧)中选择了“日期”,右侧则是“类型”
  4. 注意到有两种日期格式(一种带有()和另一种没有())。读取其中的评论,您会发现可以使用不带日期的日期格式。这意味着对CSV文件的更改将不适用于当前操作系统日期格式。因此,在这种情况下,我认为日期格式不会在CSV文件中更改。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接