【问题标题】:Excel changes date formatsExcel 更改日期格式
【发布时间】:2009-12-15 10:51:28
【问题描述】:

我运行一个进程来生成一个相当大的 CSV 数据文件。有时我发现在 excel 中打开 CSV,手动进行更改,然后重新保存很有帮助。但是,如果 CSV 中有日期,excel 会自动重新格式化它们。有没有办法阻止excel这样做?如果我可以完全关闭所有文本格式,那将会很有帮助。

【问题讨论】:

  • Excel 将 yyyy-mm-dd 更改为本地日期格式时遇到了这个问题。 对我来说最简单的答案是决定如果 CSV 文件需要修改,请使用文本编辑器,而不是 Excel。
  • 将文件重命名为 .txt,您将获得导入向导。在向导中,您可以将列标记为文本

标签: excel csv


【解决方案1】:

如果您在导出过程中将撇号 ' 添加到任何日期字符串的开头,Excel 将按字面意思(即纯文本)读取该值,而不是尝试将其转换为日期。

这个特殊的解决方案是在export 过程中处理的。我不确定您将如何更改 Excel 以在 runtime 以不同方式处理文件。

【讨论】:

  • 正是我想要的。
  • 将追加更改为在此响应中添加
  • 即使您在导出过程中在开头和结尾添加空格“”,它也可以工作
【解决方案2】:

Excel 在输出 XML 时会使用一些讨厌的技巧。它的tricks 之一是如果 16 个左右的连续行没有这些列的值,则删除最左边的列分隔符。这意味着如果您根据逗号拆分行,那么这些行的列数将与其余行不同。

它还会删除任何初始的0,因此数字 ID 之类的内容可能会变得混乱。

您面临的另一个风险是缩短文件,因为 Excel 只能支持最大行数。 (在 Excel 2007 之前,这大约是 65536)

如果您需要对 CSV 文件执行任何操作而不是读取它使用文本编辑器

【讨论】:

    【解决方案3】:

    将 CSV 文件导入 Excel 时,请务必将日期列预先格式化为文本。解析中有一个经常被忽视的选项,它允许您逐列控制格式。这也可以很好地防止新英格兰邮政编码中的前导零在您的联系人列表中丢失。

    【讨论】:

      【解决方案4】:

      如果您使用的excel文件版本是2010或更高版本(不确定较低版本),您可以在Excel/CSV文件中设置是否使用当前操作系统的日期格式。

      1. 在 CSV 文件中右键单击带有日期值的单元格(例如“9/12/2013”​​)并弹出菜单
      2. 单击“设置单元格格式”并打开一个弹出屏幕
      3. 转到“数字”选项卡,您可以看到在“类别”(左侧)中选择了“日期”,在右侧选择了“类型”
      4. 观察到有两种类型的日期格式(一种带有 (),另一种不带有 ())。阅读那里的评论,您会发现您可以使用不带日期的日期格式。这意味着您对 CSV 文件的更改将不适用于您当前的操作系统日期格式。所以,我认为在这种情况下,CSV 文件中的日期格式不会改变。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-16
        • 2019-03-28
        • 2014-10-23
        • 1970-01-01
        • 2022-06-22
        • 2022-08-11
        相关资源
        最近更新 更多