我运行一个进程生成一个相当大的数据CSV文件。有时,我发现在Excel中手动更改CSV文件并重新保存会很有帮助。然而,如果CSV中有日期,Excel会自动重新格式化它们。是否有一种方法可以防止Excel这样做?如果我能完全关闭所有文本格式设置,那将会很有帮助。
我运行一个进程生成一个相当大的数据CSV文件。有时,我发现在Excel中手动更改CSV文件并重新保存会很有帮助。然而,如果CSV中有日期,Excel会自动重新格式化它们。是否有一种方法可以防止Excel这样做?如果我能完全关闭所有文本格式设置,那将会很有帮助。
'
,Excel将按照字面意义读取该值(即作为纯文本),而不是尝试将其转换为日期。这个特定的解决方案是在导出过程中处理的。我不确定如何在运行时更改Excel以不同方式处理文件。Excel在输出XML时会进行一些不好的技巧。其中一个技巧是,如果16行或更多连续的行没有这些列的值,则删除最左侧的列分隔符。这意味着,如果你基于逗号分割行,则这些行将与其余行具有不同数量的列。
它还会删除任何初始的0
,因此像数字ID这样的东西可能会出错。
另一个风险是文件被截短,因为Excel只支持最大行数。(在Excel 2007之前,这个数字约为65536)
如果你需要对CSV文件进行任何操作而不仅仅是读取,请使用文本编辑器。