最近,我尝试了函数的各种格式参数。
setDataFormatForType(wb, type=XLC$DATA_TYPE.DATETIME, format="d/m/yy")
例如,上面所示的format="d/m/yy“,除了许多其他的。
然后是后续行动。
setStyleAction(wb, XLC$"STYLE_ACTION.DATA_FORMAT_ONLY")
然后我写了一个工作表,然后保存工作表。没有任何形式的格式调整似乎有效。一旦我处理了setDataFormatForType命令中的任何格式,结果就是数字时间值显示在我稍后保存的Excel工作簿中的日期列中,即2013年11月6日= 41584。如果我不干预任何DataFormats,那么标准(POSIX)格式就会被保存,但是当您查看生成的Excel时,它有一些自定义的"XLConnect格式“分配给它,因此它被显示为”错误“:-( --这意味着美国表示法(前面的月份接日),但我想要的是Eurepean (先导日接月份)。
如果有人有在XLConnect中设置这些DataFormats (特别是“约会”)的经验,那么分享一些想法或智慧将是非常感谢的。
谢谢,沃尔特
发布于 2013-11-08 22:12:48
您确实需要有一个名为“Date”的命名区域。我用这样的区域保存了templat2.xslx文件的副本。唯一对我有用的想法是用format.Date
函数写出它:
Dates=seq(from=as.Date("2001-01-01"), to=as.Date("2013-01-01"), by=365)
file.copy(system.file("demoFiles/template2.xlsx",
package = "XLConnect"),
"dataformat.xlsx", overwrite = TRUE)
wb <- loadWorkbook("dataformat.xlsx")
setDataFormatForType(wb, type = XLC$"DATA_TYPE.DATETIME",
format = "dd/mm/yyyy")
setStyleAction(wb, XLC$"STYLE_ACTION.DATA_FORMAT_ONLY")
createName(wb, name = "Dates", formula = "mtcars!$A$1")
writeNamedRegion(wb, format(Dates, "%d.%m.%Y"), name = "Dates")
saveWorkbook(wb)
https://stackoverflow.com/questions/19865890
复制相似问题