我运行一个过程来生成一个相当大的CSV数据文件。有时我发现在Excel中打开CSV,手动进行更改,然后重新保存会很有帮助。但是,如果CSV中有日期,则Excel会自动重新格式化它们。有没有办法阻止excel这样做?如果我可以完全关闭所有文本格式,将会很有帮助。
答案 0 :(得分:6)
如果在导出过程中将撇号'
添加到任何日期字符串的开头,Excel将按字面读取值(即纯文本),而不是尝试将其转换为日期。
此特定解决方案在导出过程中处理。我不确定如何更改Excel以在运行时处理文件的方式不同。
答案 1 :(得分:4)
Excel在输出XML时会做一些讨厌的技巧。如果16个左右的连续行没有这些列的值,则其tricks之一是删除大多数列分隔符。这意味着如果你根据commmas分割行,那么这些行将具有与其余行不同的列数。
它也会丢弃任何初始0
,因此像数字ID这样的东西会变得混乱。
您运行的另一个风险是短切文件,因为Excel只能支持最大行数。 (在Excel 2007之前,这大约是65536)
如果您需要对CSV文件执行任何操作而不是阅读使用文本编辑器。
答案 2 :(得分:3)
将CSV文件导入Excel时,请务必将日期列预格式化为文本。解析中经常忽略一个选项,允许您逐列控制格式。这也可以很好地防止新英格兰邮政编码中的前导零被放入您的联系人列表中。
答案 3 :(得分:1)
如果使用2010或更高版本的excel文件版本(不确定较低版本),则可以设置在Excel / CSV文件中使用当前操作系统日期格式。