使用 openxlsx 写入 DateTime 值时,在下一行中写入 "x" 后跟 DateTime 值,而不仅仅是 DateTime 值

When writing a DateTime value using openxlsx, a "x" is written followed by DateTime value in the next row instead of just the DateTime value

我想使用 openxlsx 将 DateTime 值写入 excel sheet。当我尝试这样做时,我在一行中得到一个小写的“x”,而不仅仅是 DateTime 值,然后是后续行中的 DateTime。无论我使用 write.xlsx 还是 writeData,都会发生这种情况。我还尝试使用 as.POSIXlt 或 as.POSIXct 转换 DateTime,转换是否指定时区的日期,并得到相同的结果。

UTC 日期时间值来自 PerkinElmer 微孔板 reader 文件。

下面是给出此结果的代码片段。感谢任何建议或帮助,谢谢!

library(openxlsx)
library(lubridate)

date <- as_datetime("2022-04-07T22:15:08+0000", tz = "America/Los_Angeles")
options(openxlsx.datetimeFormat = "yyyy-mm-dd hh:mm:ss")

write.xlsx(date,"test.xlsx",overwrite = TRUE)

write.xlsx 的文档在参数部分说 x 是(我强调的)

A data.frame or a (named) list of objects that can be handled by writeData() or writeDataTable() to write to file.

显然,原子向量首先被强制转换为 data.frame,并且由于数据参数名称为 x,因此其列 header.

写命名列表时也会发生这种情况date_list <- list(date = date)。创建了一个名为 date 的 sheet 工作簿,其中的数据有一列 header x.