如何在R中使用OpenXLSX格式化带括号的负数

rekjcdws  于 2023-06-03  发布在  其他
关注(0)|答案(1)|浏览(162)

我使用R处理一些数据,然后使用OpenXLSX输出到.xlsx文件。我想负数是在会计格式,所以在括号(-100是(100)),但没有$或小数。
如果我在OpenXLSX部分之前的数据处理阶段添加括号,将其转换为字符向量,这不起作用,我需要将其导出为数字类型。我也试过

num <- createStyle(numFmt = "ACCOUNTING")
addStyle(wb, 1, style = num, rows = 4:53, cols = 3:6, gridExpand = T, stack = T)

这确实增加了括号,但也增加了一个美元符号和两个小数,这是我不想要的。

sdnqo3pr

sdnqo3pr1#

我还没有找到一种不使用正式样式(创建工作簿和工作表,为特定的行和列分配特定的样式)的方法。
这里有一个工作的例子。
我添加了一些注解来解释addStyle中的参数。如果这没有帮助,或者你有任何问题,让我知道。

library(openxlsx)

wb <- createWorkbook()               # create structure/workbook
addWorksheet(wb, "formatting")       # create sheet and name it
                                     # create data to add to workbook
df1 <- data.frame(values1 = -10:10, values2 = 10:-10, letters = LETTERS[1:21])

writeData(wb, "formatting", df1)     # add data to sheet "formatting"

                                     # add styling
# wb, sheet 1, () for negs, first 2 cols, 100 rows
addStyle(wb, 1, style = createStyle(numFmt = '#,##0.00_);(#,##0.00)'), 
         cols = 1:2, rows = 2:100, gridExpand = T)
saveWorkbook(wb, "newSpreadsheet.xlsx", overwrite = T) # save formatted wb

相关问题