如何使用XLConnect从Excel 2010中检索dateTime和毫秒

时间:2013-05-23 16:14:06

标签: r excel xlconnect

您好我已经获得了XL电子表格(...不是我的错,请继续阅读......)。

您可能知道XL不能很好地处理日期时间和毫秒数。要在单元格中显示毫秒,您必须选择特殊格式aaaa-mm-jj hh:mm:ss.000

我需要使用R将此XL表加载到XLConnect(我不能使用其他包)。

snapshot

如你所见:

  • 单元格B2的公式中的内容是2012-10-01 12:15:15
  • 由于格式为B2
  • 2012-10-01 12:15:15.447单元格中的显示内容是什么
  • 仅供参考我在B2
  • 中指出了B3单元格的基础数值

我的问题是我做的事情

wb = loadWorkbook(currentFile)
dataFile <- readWorksheet(wb, sheet=c('Sheet1'),header=TRUE);
#or even when I specify the type (my real file is a 3 columns matrix)
dataFile <- readWorksheet(wb, sheet=c('Sheet1'),header=TRUE, 
                              colTypes = c(XLC$DATA_TYPE.NUMERIC,XLC$DATA_TYPE.DATETIME,XLC$DATA_TYPE.NUMERIC), 
                              dateTimeFormat='%Y-%m-%d %H:%M:%OS');

我得到的是data.frame 2012-10-01 12:15:15 R没有我的珍贵的MILLISECONDS

我的问题是:

我该怎么做才能确保datetime加载此numeric毫秒(一次不加载{{1}}并随后自我转换)

1 个答案:

答案 0 :(得分:2)

我已在13的github存储库上记录并修复了问题https://github.com/miraisolutions/xlconnect。现在应该有几毫秒。只需确保在打印前设置options(digits.secs = 3),否则将无法显示毫秒数。