首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >openxlsx货币风格--有舍入选项吗?

openxlsx货币风格--有舍入选项吗?
EN

Stack Overflow用户
提问于 2018-05-18 14:12:41
回答 2查看 3K关注 0票数 6

createStyle包中的openxlsx函数有一个参数numFmt,它允许您创建要应用于.xlsx文件中特定单元格的excel格式。可以通过指定numFmt = '0'来舍入值,也可以通过指定numFmt = "CURRENCY"应用货币格式。

是否有办法指定四舍五入的货币格式?我试过以下几种方法:

  • 舍入数据帧中的值不起作用,因为excel单元格仍然显示美分,例如$103.00
  • numfmt = 'CURRENCY0'不工作

如果没有,是否有另一个包允许您指定excel单元格的格式,并允许对货币格式单元格进行舍入?

编辑:

这给了我我想要的(货币格式,逗号,没有美分)

代码语言:javascript
运行
复制
createStyle(numFmt="$0,0")
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-18 14:21:50

可以将numFmt="$0"设置为获得四舍五入的货币值。例如:

代码语言:javascript
运行
复制
library(openxlsx)

mtcars$hp = 100 * mtcars$hp

wb = createWorkbook()
sht = addWorksheet(wb, "test")
writeData(wb, sht, mtcars)

sty1 = createStyle(numFmt="$0")
sty2 = createStyle(numFmt="$0.00")
sty3 = createStyle(numFmt="$0,0.00")

addStyle(wb, sht, sty1, rows=2:(nrow(mtcars)+1), cols=1)
addStyle(wb, sht, sty2, rows=2:(nrow(mtcars)+1), cols=5)
addStyle(wb, sht, sty3, rows=2:(nrow(mtcars)+1), cols=4)

saveWorkbook(wb, "test.xlsx")

生成的Excel文件如下所示:

票数 8
EN

Stack Overflow用户

发布于 2020-04-09 10:14:32

万一你想用其他货币格式化,你可以试试这个

style = createStyle(numFmt="$CURRENCY SYMBOL#,##0")

E.g

createStyle(numFmt="$UGX#,##0")

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50413253

复制
相关文章

相似问题

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