createStyle
包中的openxlsx
函数有一个参数numFmt
,它允许您创建一个excel格式,以应用于.xlsx文件中的特定单元格。您可以通过指定numFmt = '0'
来舍入值,并且可以通过指定numFmt = "CURRENCY"
来应用货币格式。
有没有办法指定圆形货币格式? 我尝试过以下方法:
$103.00
。numfmt = 'CURRENCY0'
不起作用如果没有,是否有另一个包允许您指定excel单元格的格式,并允许舍入货币格式的单元格?
编辑:
这给了我想要的东西(货币格式,逗号,没有分钱)
createStyle(numFmt="$0,0")
答案 0 :(得分:3)
您可以设置numFmt="$0"
以获取舍入的货币值。例如:
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文件的样子:
答案 1 :(得分:0)
万一您想使用其他货币格式,可以尝试
style = createStyle(numFmt =“ [$ CURRENCY SYMBOL]#,## 0”)
例如
style = createStyle(numFmt =“ [$ UGX]#,## 0”)