小编Zee*_*ena的帖子

如何使用 Google Docs API 将文本插入表格单元格?

我遇到一个实施问题,需要一些帮助:

我正在构建一个 Google Docs 集成,其中涉及以编程方式创建一个表,然后通过记录数组进行映射,以将这些记录的数据添加到表单元格中。我可以创建一个空白表并找到要插入数据的每个单元格的起始索引,但是当我尝试使用insertText文档中的请求并将文本放置在特定单元格中时,出现以下错误:

“无效的请求[1].insertText:插入索引必须位于现有段落的边界内。您仍然可以通过插入新行来创建新段落。”

我尝试过以下方法

  1. 只需插入我的文本并希望每个 insertText 请求将文本放入新单元格中
  2. 添加'\n'到单元格的起始索引处
  3. 创建已定义 tableRows 的表(此错误显示为无效的请求格式)
  4. 逐一创建单元格并在每个附加的 1x1 列或行之后插入文本(最终您创建一行,用多列复制其上方的行,并且所有文本都将位于第一个单元格中)
  5. 在第一个单元格文本后插入分栏符,希望将段落转移到新单元格

这是我尝试的最后一个实现:

(对于上下文,我的目标是过滤项目数组,为每个项目创建一个表,然后为该项目对象中的每个子项目都有一个表行,其中相关数据将位于标题 1、2 和 3 下,但现在我很高兴将表格和标题放在正确的位置)

var requests = []    
await Promise.all(
        items.map(async (item) => {
          let subitems = []
          subitems = item.subitems.filter((subitem) => subitem.selected)
    
          //Create table api call
          await docs.documents
            .batchUpdate({
              documentId: newDoc.data.documentId,
              resource: {
                requests: [
                  {
                    insertTable: {
                      columns: 3,
                      rows: item.subitems.length + 1,
                      endOfSegmentLocation: { segmentId: '' },
                    },
                  },
                ],
              },
            })
            .then((res) …
Run Code Online (Sandbox Code Playgroud)

javascript google-docs-api node.js

5
推荐指数
0
解决办法
1191
查看次数

标签 统计

google-docs-api ×1

javascript ×1

node.js ×1