createStyle包中的openxlsx函数有一个参数numFmt,它允许您创建要应用于.xlsx文件中特定单元格的excel格式。可以通过指定numFmt = '0'来舍入值,也可以通过指定numFmt = "CURRENCY"应用货币格式。
是否有办法指定四舍五入的货币格式?我试过以下几种方法:
$103.00。numfmt = 'CURRENCY0'不工作如果没有,是否有另一个包允许您指定excel单元格的格式,并允许对货币格式单元格进行舍入?
编辑:
这给了我我想要的(货币格式,逗号,没有美分)
createStyle(numFmt="$0,0")发布于 2018-05-18 14:21:50
可以将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文件如下所示:

发布于 2020-04-09 10:14:32
万一你想用其他货币格式化,你可以试试这个
style = createStyle(numFmt="$CURRENCY SYMBOL#,##0")
E.g
createStyle(numFmt="$UGX#,##0")
https://stackoverflow.com/questions/50413253
复制相似问题