You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Quarto的Word输出中正确使用gt::as_word生成表格?

解决Quarto中gt表格通过as_word()输出为OOXML字符串的问题

问题原因

as_word()函数生成的是OOXML格式的字符串,Quarto默认会将其视为普通文本输出,因此Word文档中只会显示原始的XML代码而非渲染后的表格。

解决方法

需要将as_word()的输出标记为原始输出内容,让Quarto直接将其传递给Word进行渲染,具体需要两步:

  • 给R代码块添加results='asis'选项,允许代码块输出原始内容而非文本。
  • 将as_word()的结果传入knitr::raw_output()函数,标记该内容为需要直接渲染的格式。

修改后的完整代码

---
title: "Untitled"
format: docx
---

```{r, results='asis'}
library(gt)
library(dplyr)

gtcars %>%
  select(mfr, model) %>%
  slice(1:2) %>%
  gt() %>%
  tab_header(
    title = md("Data listing from **gtcars**"),
    subtitle = md("`gtcars` is an R dataset")
  ) %>%
  as_word() %>%
  knitr::raw_output()

效果说明

修改后,Quarto会将生成的OOXML表格代码直接传递给Word,Word会自动识别并渲染成格式化的表格,而非显示原始字符串。

内容的提问来源于stack exchange,提问作者John J.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 12:39:27