createStyle
openxlsx
中的函数包有一个参数 numFmt
,它允许您创建一个 excel 格式以应用于 .xlsx 文件中的特定单元格。您可以通过指定 numFmt = '0'
来舍入值,您可以通过指定 numFmt = "CURRENCY"
来应用货币格式.
有没有办法指定四舍五入的货币格式?
我尝试了以下方法:
单元格仍然显示美分,例如
$103.00
. numfmt = 'CURRENCY0'
不工作如果没有,是否有另一个包允许您指定 excel 单元格的格式,并允许对货币格式的单元格进行舍入?
编辑:
这给了我想要的东西(货币格式,带逗号,没有美分)
createStyle(numFmt="$0,0")
最佳答案
您可以设置numFmt="$0"
获得四舍五入的货币值(value)。例如:
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 文件如下所示:
关于r - openxlsx 货币风格 - 有舍入选项吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50413253/