Google sheets 为什么谷歌电子表格API在输入一定数量的数据后停止应用格式?

Google sheets 为什么谷歌电子表格API在输入一定数量的数据后停止应用格式?,google-sheets,google-api,google-sheets-api,Google Sheets,Google Api,Google Sheets Api,我有一个应用程序,它管理谷歌硬盘结构并更新现有的谷歌表单。在所有这些文件上,我都遇到了奇怪的行为。一旦我添加了一些数据(大约80-100行输入),电子表格就会停止对数据应用某些格式 应用程序是C#/.NET标准(4.7.2),使用和GoogleSheetsApi-V4作为端点 应用程序创建并发送包含数据和格式(样式)的文件。批量更新是特定的请求,因为它是事务性的-如果不应用任何子请求(例如,不通过Google的服务器解析请求),则不会应用整个请求(意味着所有子请求都会被丢弃) 我知道,而且我不会

我有一个应用程序,它管理谷歌硬盘结构并更新现有的谷歌表单。在所有这些文件上,我都遇到了奇怪的行为。一旦我添加了一些数据(大约80-100行输入),电子表格就会停止对数据应用某些格式

应用程序是C#/.NET标准(4.7.2),使用和GoogleSheetsApi-V4作为端点

应用程序创建并发送包含数据和格式(样式)的文件。批量更新是特定的请求,因为它是事务性的-如果不应用任何子请求(例如,不通过Google的服务器解析请求),则不会应用整个请求(意味着所有子请求都会被丢弃)

我知道,而且我不会打那些。这种行为发生在所有测试的文件上(总共大约50个)-前80-100行的格式没有问题,其余的有问题

来自谷歌API的回复(在批量更新请求之后)为空,不报告任何错误

对于格式化,我将使用带有多个
请求的
batchRequest
。在发送和应用时,我将它们包括在订单中:

  • UpdateCells
    with
    CellData.UserEnteredValue
  • MergeCells
  • UpdateCells
    with
    CellData.UserEnteredFormat
  • 更新订单
  • RepeatCell

谷歌电子表格API对格式是否有一些限制?此部分丢失格式的原因可能是什么?我是否应该注意一些可能会限制这种行为的因素?


某些数据量下格式错误的屏幕截图(例如,未设置WORD_WRAP、TEXT_ALIGNMENT,但单元格仍带有“边框”,并且为列设置了背景色):


我相信你的目标如下

  • 中,未应用的格式是批更新中的“最后一个请求”。
    在您的注释中。
    • 您希望使用工作表API的批更新方法将
      wrapStrategy
      WRAP
      反映到第3列的第3行,从3到96行
修改点:
  • 当我看到您的请求正文时,我认为
    range
    可能不正确。例如,如果您希望反映
    wrapsttrategy
    WRAP
    ,如下所示。
    • 行从3到96
    • 第3栏
请修改
范围
,如下所示

修改请求正文: 请按如下方式修改请求正文中最后一个请求的
repeatCell
,然后再次测试

{
  "repeatCell": {
    "cell": {
      "userEnteredFormat": {
        "horizontalAlignment": "CENTER",
        "verticalAlignment": "MIDDLE",
        "wrapStrategy": "WRAP"
      }
    },
    "fields": "userEnteredFormat.wrapStrategy,userEnteredFormat.verticalAlignment,userEnteredFormat.horizontalAlignment",
    "range": {
      "startRowIndex": 3,
      "endRowIndex": 96,
      "startColumnIndex": 3,
      "endColumnIndex": 4,
      "sheetId": ### <--- Please set sheet ID.
    }
  }
}
{
“重复单元”:{
“单元”:{
“userEnteredFormat”:{
“水平对齐”:“中心”,
“垂直对齐”:“中间”,
“包装策略”:“包装”
}
},
“字段”:“userEnteredFormat.WrapstStrategy,userEnteredFormat.verticalAlignment,userEnteredFormat.horizontalAlignment”,
“范围”:{
“startRowIndex”:3,
“endRowIndex”:96,
“startColumnIndex”:3,
“endColumnIndex”:4,

“sheetId”:####为了正确了解您的当前情况,您能否提供请求正文(JSON数据)和用于复制您的问题的示例电子表格?@Tanaike抱歉,最初我提供了错误的信息-未应用的格式是“最后一个请求”在批处理更新中。这可能会严重影响结果吗?感谢您的回复和添加更多信息。从您的其他信息中,我提出了一个修改点作为答案。您能确认一下吗?如果我误解了您的问题和目标,而这不是您期望的结果,我很抱歉。很抱歉投入时间,问题实际上已在其他地方完成..因为我正在通过请求设置的样式不是我正在查找的修复程序。我已经用一些模板文件预处理了所有50个文件…不幸的是,这些文件与样式有问题,因为75+行缺少样式。我感谢您的时间,并再次为浪费时间感到抱歉:(@Tatranskymedved感谢您的回复。对于给您带来的不便以及我糟糕的英语水平,我深表歉意。不幸的是,我无法从您的回复中了解您当前的问题。我可以问一下它的细节吗?我想了解它并思考解决方案。问题已经解决。问题在于我的模板“Google sheet”,从中创建所有文档。此模板以前设置过样式(例如word wrap、字体等),但仅适用于0-75行。当我发送包含所有样式的请求(批量更新)时,它们会与现有样式合并。问题是我的批量更新没有我想要的样式(如word wrap,…)我认为请求有问题。因为它在前0-80行都有效。@Tatranskymedved感谢您的回复和添加更多信息。我可以理解您的问题已经解决。我很高兴。