首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >setDataFormatForType()对XLConnect中的日期正确工作吗?

setDataFormatForType()对XLConnect中的日期正确工作吗?
EN

Stack Overflow用户
提问于 2013-11-08 18:20:52
回答 1查看 2.1K关注 0票数 1

最近,我尝试了函数的各种格式参数。

代码语言:javascript
运行
复制
setDataFormatForType(wb, type=XLC$DATA_TYPE.DATETIME, format="d/m/yy")

例如,上面所示的format="d/m/yy“,除了许多其他的。

然后是后续行动。

代码语言:javascript
运行
复制
setStyleAction(wb, XLC$"STYLE_ACTION.DATA_FORMAT_ONLY")

然后我写了一个工作表,然后保存工作表。没有任何形式的格式调整似乎有效。一旦我处理了setDataFormatForType命令中的任何格式,结果就是数字时间值显示在我稍后保存的Excel工作簿中的日期列中,即2013年11月6日= 41584。如果我不干预任何DataFormats,那么标准(POSIX)格式就会被保存,但是当您查看生成的Excel时,它有一些自定义的"XLConnect格式“分配给它,因此它被显示为”错误“:-( --这意味着美国表示法(前面的月份接日),但我想要的是Eurepean (先导日接月份)。

如果有人有在XLConnect中设置这些DataFormats (特别是“约会”)的经验,那么分享一些想法或智慧将是非常感谢的。

谢谢,沃尔特

EN

回答 1

Stack Overflow用户

发布于 2013-11-08 22:12:48

您确实需要有一个名为“Date”的命名区域。我用这样的区域保存了templat2.xslx文件的副本。唯一对我有用的想法是用format.Date函数写出它:

代码语言:javascript
运行
复制
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)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19865890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档