我喜欢ReporteRs包,但是,不能找到如何格式化Flextable并保持其大小。 如果我希望一列比其他列宽3倍,我可以设置它,但表格不会保留PPT中准备的空间。
这是ReporteRs主页网站原始代码的一部分。它适用于已安装ReporteRs包和输出路径的任何人。
library( ReporteRs )
mydoc <- pptx( )
mydoc <- addSlide( mydoc, "Two Content" )
mydoc <- addTitle( mydoc, "First 10 lines of iris" )
MyFTable <- FlexTable(iris[1:10,] )
mydoc <- addFlexTable( mydoc, MyFTable )
mydoc <- addParagraph( mydoc, value = c("", "Hello World!") )
writeDoc(mydoc, "C:/DATAOLD/REPORTERS/REP.pptx" )
效果很好,输出幻灯片如下所示:
更改列宽后,表格不再适合为其准备的空间
library( ReporteRs )
mydoc <- pptx( )
mydoc <- addSlide( mydoc, "Two Content" )
mydoc <- addTitle( mydoc, "First 10 lines of iris" )
twidth<-c(1,1,1,1,3)
MyFTable <- FlexTable(iris[1:10,] )
MyFTable <- setFlexTableWidths( MyFTable, widths = twidth)
mydoc <- addFlexTable( mydoc, MyFTable )
mydoc <- addParagraph( mydoc, value = c("", "Hello World!") )
writeDoc(mydoc, "C:/DATAOLD/REPORTERS/REP.pptx" )
我可以理解,现在表格更宽......尽管我认为它的大小总是会改变以适合占位符的大小,除非存在特殊的大小参数。
这个问题有什么简单的解决方案吗?我只需要一些列比其他列宽,并将整个表保留在占位符中。 重新调整宽度
twidth<-twidth*length(twidth)/sum(twidth)
不是解决方案,因为有些列太窄了。
感谢您提出任何意见。
编辑:根据David Gohel对Github的评论 https://github.com/davidgohel/ReporteRs/issues/146#issuecomment-258485791目前无法轻易控制Flextable的高度。
宽度可通过字体和列宽部分控制。