openxlsx格式的单元格为带逗号的数字,0值用破折号代替

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openxlsx格式的单元格为带逗号的数字,0值用破折号代替相关的知识,希望对你有一定的参考价值。

我正在尝试编写一个工作簿脚本,以匹配一种格式,该格式将自动将任何0值更改为破折号,就像在Excel中单击“,”一样。我尝试使用numFmt ='COMMA',但是无法产生破折号。我尝试了几种自定义格式,但是没有运气。有没有可以给我逗号,没有小数位并用破折号替换0的代码?我当前的代码如下。

    addStyle(wb, sheet = "Sheet Name", style = createStyle(numFmt = "#,0"), rows = 4:15, cols = 2:17, gridExpand = T)
答案

我想这比R更像是一个Excel问题。在Excel中,自定义类型的作用类似于

positive number; negative number; zero

因此,如果要将零转换为破折号,则必须为:

#,##0;-#,##0;-

因此,根据您的代码,它将是:

 addStyle(wb, sheet = "Sheet Name", style = createStyle(numFmt = "#,##0;-#,##0;-"), rows = 4:15, cols = 2:17, gridExpand = T)

以上是关于openxlsx格式的单元格为带逗号的数字,0值用破折号代替的主要内容,如果未能解决你的问题,请参考以下文章

EXCEL(CSV)格式文件如何转换为带逗号分隔符的TXT文件

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

poi读取Excel时,如果单元格设置的是数字格式,如何解决整数与小数问题

如何excel在数字后批量加上逗号

excel的单元格为空 日期型 插入到SQL数据库 为啥会出现默认时间1900-1-2

excel 超过15位为啥显示0