FlexTable выводит горизонтальную таблицу .docx с уменьшенными полями

У меня есть flextable объект с именем html_table, который я хочу напрямую вставить в текстовый документ в горизонтальной компоновке с узкими полями. У меня 2 проблемы:

1) Подход, предложенный в виньетке, приводит к появлению дополнительных страниц (одна перед таблицей, одна после таблицы). Я думаю, что это известная проблема, но не знаю, как ее решить.
2) Я хотел бы, чтобы поля были узкими, а итоговая таблица на горизонтальных страницах автоматически соответствовала странице. Я хочу, чтобы я мог распечатать таблицу, используя как можно больше страниц. Мой текущий подход заключается в том, чтобы вручную открыть документ, изменить макет и выбрать «автозаполнение» в Word.

Вот код, который я использую для создания документа. В иллюстративных целях я буду использовать mtcars для своей таблицы, но в настоящей таблице строк больше, чем mtcars.

html_table <- regulartable(mtcars)    
doc <- read_docx() %>%
      # Make it landscape
      body_end_section_continuous() %>%
      # Add the table
      body_add_flextable(value = html_table,
                         split = TRUE
                        ) %>%
      body_end_section_landscape()
    # Write the .docx
    print( doc, target = "my_table.docx" )

person Matias Andina    schedule 06.12.2018    source источник


Ответы (1)


В документе Word разделы определяются только тогда, когда они останавливаются (я не могу объяснить, почему это было сделано таким образом, но таков базовый xml ...). Также для раздела с альбомной ориентацией требуется разрыв страницы, если предыдущий раздел не ориентирован в альбомной ориентации.

Для автозаполнения флештаба используйте функцию autofit.

library(flextable)
library(officer)
library(magrittr)

html_table <- regulartable(mtcars) %>% 
  autofit()

doc <- read_docx() %>%
  body_add_flextable(value = html_table, split = TRUE) %>%
  body_end_section_landscape() %>% # a landscape section is ending here
  print( target = "my_table.docx" )

введите описание изображения здесь

Если вам не нужна дополнительная страница, вам понадобится шаблон с альбомной ориентацией страницы по умолчанию. Кроме того, вам не понадобится код для управления ориентацией или полями.

person David Gohel    schedule 06.12.2018