用Excel编写时的日期格式为常规而非日期

时间:2018-06-27 08:13:41

标签: r

我正在使用openxlsx包写回文件。我已经使用as.date和format函数使我的命运看起来像dd-mmm-yyyy

但是,当我打开Excel文件时,即使日期是“ 2018年5月12日”,我也无法像Excel日期一样将它们过滤掉。它表明数据的类型是常规的。

即使我在Excel中将其转换为日期格式,它仍然不允许我按年,月和日进行过滤,这在Excel日期中会发生。通过将光标手动置于单元格的中间并按回车键,可以将它们转换为日期类型。

这样做对于整个数据来说将是我要减少的过多手工工作。有什么办法可以实现它。感谢您提供的任何建议。

这是我的代码:

 data$datecolumns <- as.date(as.numeric(data$datecolumn), origin = origin - somenumberforcalibartion, format = "%d")
data$datecolumn <- format(data$datecolumn, format = "%d-%b-%Y")
write.xlsx(data, filename)

在这里,以Excel数字格式读取datecolumn。

我刚刚看到一个代码片段,其中从CSV中将日期读取为字符串,并将其转换为POSIXct,然后再次将CSV编写为Excel中的日期。尚未为Xlsx找到任何东西。

1 个答案:

答案 0 :(得分:0)

Format函数使日期恢复为字符串。这导致了整个问题,因此删除了格式功能,一切正常。 @Tjebo @Roman Lustrik为此帮助了我。