请问是否有一种标记可以添加到我的csv文件中的某个字段,使得Excel不会尝试将其转换为日期格式?
我正在尝试从我的应用程序写入一个.csv文件,其中一个值看起来非常像日期,因此Excel自动将它从文本转换为日期格式。我尝试将所有文本字段(包括看起来像日期的字段)放在双引号内,但这没有任何效果。
请问是否有一种标记可以添加到我的csv文件中的某个字段,使得Excel不会尝试将其转换为日期格式?
我正在尝试从我的应用程序写入一个.csv文件,其中一个值看起来非常像日期,因此Excel自动将它从文本转换为日期格式。我尝试将所有文本字段(包括看起来像日期的字段)放在双引号内,但这没有任何效果。
在我的情况下,使用R生成的csv文件中的“Sept8”被Excel 2013转换为“8-Sept”。通过使用xlsx包中的write.xlsx2()函数生成xlsx格式的输出文件,可以解决这个问题,该文件可以被Excel加载而不会发生不必要的转换。因此,如果您有一个csv文件,可以尝试将其加载到R中,并使用write.xlsx2()函数将其转换为xlsx。
最简单的解决方案
编辑完成后,您可以随时再次在Word中打开它,以再次将短划线替换为连字符。
(EXCEL 2016及更高版本,我没有在旧版本中尝试过)
=("my_value")
。即=("04SEP2009")
显示为04SEP2009
而不是 09/04/2009
对于超过15位数的整数也同样适用。它们不再被裁剪了。好的,在Excel 2003到2007中,我找到了一个简单的方法来完成这个任务。打开一个空白的xls工作簿。然后进入数据菜单,导入外部数据。选择你的csv文件。按照向导进行操作,然后在“列数据格式”中选择需要强制转换为“文本”的任何列。这将把整个列作为文本格式导入,防止Excel尝试将任何特定单元格视为日期。
这个问题在Mac Office 2011和Office 2013中仍然存在,我无法防止其发生。这似乎是一个基本的事情。
在我的案例中,CSV文件中正确使用引号括起来的值(例如“1-2”和“7-12”),Excel会自动将其转换为日期。如果您尝试随后将其转换为纯文本,则会得到日期的数字表示,例如43768。此外,它还会重新格式化条形码和EAN编号中的大数值为123E+数字,无法再次转换回去。
我发现Google Drive的Google Sheets不会将数字转换为日期。条形码中确实每3个字符有逗号,但这些很容易删除。在处理MAC / Windows CSV时,它非常擅长处理CSV文件。
可能会为某些人节省时间。