我喜欢 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<-twidth*length(twidth)/sum(twidth)
不是解决方案,因为某些列太窄了。
感谢您的任何评论。
编辑:根据 David Gohel 对 Github 的评论 https://github.com/davidgohel/ReporteRs/issues/146#issuecomment-258485791
目前很难控制 Flextable 的高度。
宽度可以通过字体和列宽部分控制。