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

标签 r excel xlsx openxlsx

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

有没有办法指定四舍五入的货币格式?
我尝试了以下方法:

  • 舍入数据框中的值不起作用,因为 excel
    单元格仍然显示美分,例如$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 文件如下所示:

    enter image description here

    关于r - openxlsx 货币风格 - 有舍入选项吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50413253/

    相关文章:

    java - 如何使工作簿(输出流)将所有行写入 xlsx 文件而不是仅一行?

    r - 将 for 循环转换为 foreach 循环

    r - 如何在 networkD3 的 sankeyNetwork 中为组着色?

    excel - 按字符串中倒数第二个字符实例修剪

    excel - 按列名循环遍历列

    python - csv 和 xlsx 文件导入到 pandas 数据框 : speed issue

    r - 如何将行添加到 R Shiny 表

    r - Shiny conditionalPanel 的动画/过渡

    vba - 在模块中运行 VBA 时 Excel 挂起

    xml - 如何从其内部子组件正确组装一个有效的 xlsx 文件?