为什么向量参数在setColumnWidth{xlsx}中不起作用?[R]

为什么向量参数在setColumnWidth{xlsx}中不起作用?[R],r,xlsx,R,Xlsx,您好,我正在使用package{xlsx}在excel文件中编写内容,并使用setColumnWidth控制列宽。当我试图使用向量来表示列索引和列宽时,它不起作用 wb = createWorkbook() sheet1 = createSheet(wb, sheetName = "test1") sheet2 = createSheet(wb, sheetName = "test2") setColumnWidth(sheet1, 1, 20) setColumnWidth

您好,我正在使用package
{xlsx}
在excel文件中编写内容,并使用
setColumnWidth
控制列宽。当我试图使用向量来表示列索引和列宽时,它不起作用

wb = createWorkbook()

sheet1 = createSheet(wb, sheetName = "test1")
sheet2 = createSheet(wb, sheetName = "test2")

setColumnWidth(sheet1, 1, 20)        
setColumnWidth(sheet2, 2:5, rep(20, 4)) 
# Error in .jcall(sheet, "V", "setColumnWidth", as.integer(ic), as.integer(colWidth *  : 
#         method setColumnWidth with signature (I[I)V not found

saveWorkbook(wb, 'test.xlsx')

有人知道怎么修吗?请告诉我。非常感谢您的帮助。

您实际上非常接近!你所需要做的就是更换

setColumnWidth(sheet2, 2:5, rep(20, 4))
使用更明确的声明

setColumnWidth(sheet2, colIndex=c(2:5), colWidth=20) 
这样,R知道您的第二个参数用于索引为2到5的列。第三个参数只适用于所有四列

还记得在组合多个元素时使用c(),如setColumnWidth函数的第二个参数