代码之家  ›  专栏  ›  技术社区  ›  jason

google sheets“repeatcell”从现有单元格中删除格式

  •  3
  • jason  · 技术社区  · 6 年前

    我正在尝试在google表单中复制一些简单的按键。我想把整张纸改成字体 Balthazar 尺寸 11 . 我可以通过 ctrl + a 在下拉列表中选择字体和大小。不过,我想做1000张。

    我的问题是,当我使用下面的代码时,它会将单元格中的现有格式删除。我该怎么避免呢?

    这是我的代码:

     align=None
     fontFamily='balthazar'
     fontSize = 11
     data={
              "requests": 
              [
                {
                  "repeatCell": 
                  {
                    "cell": 
                    {
                        "userEnteredFormat": 
                            { "horizontalAlignment": align ,   #'CENTER','LEFT','RIGHT',
                              "textFormat":  { 
                                "fontFamily": fontFamily,
                                "fontSize":  fontSize
                              }
                          }
                    },
                    "range": 
                    {
                      "sheetId": sheetId,
                      "startRowIndex": startRowIndex,
                      "endRowIndex": endRowIndex,
                      "startColumnIndex": startColumnIndex,
                      "endColumnIndex": endColumnIndex
                    },
                    "fields": "userEnteredFormat"
                  }
                }
              ]
            }
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   Tanaike    6 年前

    当所有单元格的原始格式为 不是 被改进的。也就是说,当“a1”具有红色背景色时,即使请求主体添加了新格式,也不希望更改背景色。如果我的理解是正确的,那么这次修改怎么样?

    来自:

    "fields": "userEnteredFormat"
    

    到:

    "fields": "userEnteredFormat/textFormat,userEnteredFormat/horizontalAlignment"
    

    仅此修改 horizontalAlignment textFormat 可以修改。

    如果我误解了你的问题,我很抱歉。

    编辑:

    我知道你只想改变字体系列和字体大小。你能试试这些田地吗?请仅修改请求正文的字段。

    "fields": "userEnteredFormat/textFormat/fontFamily,userEnteredFormat/textFormat/fontSize"
    

    补充:

    The document of Sheets API fields 是“弦” FieldMask 格式)所以上面的值也可以写成如下。

    "fields": "userEnteredFormat.textFormat.fontFamily,userEnteredFormat.textFormat.fontSize"