Ice*_*can 5 excel r xlsx openxlsx
包中的createStyle函数openxlsx有一个参数numFmt,它允许您创建一个 excel 格式以应用于 .xlsx 文件中的特定单元格。您可以通过指定来舍入值numFmt = '0',并且可以通过指定来应用货币格式numFmt = "CURRENCY"。
有没有办法指定四舍五入的货币格式?我尝试了以下方法:
$103.00.numfmt = 'CURRENCY0' 不起作用如果没有,是否有另一个包允许您指定 excel 单元格的格式,并允许对货币格式的单元格进行四舍五入?
编辑:
这给了我我想要的(货币格式,带逗号,没有美分)
createStyle(numFmt="$0,0")
Run Code Online (Sandbox Code Playgroud)
您可以设置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")
Run Code Online (Sandbox Code Playgroud)
生成的 Excel 文件如下所示: