我被一个想要更新的 gsheets 困住了,因为有一些行和列被冻结。
我正在使用
google-spreadsheet
npm 包,但其中没有任何内容可以显式解冻工作表。
我发现了这个:
await worksheet.updateProperties({
gridProperties: {
frozenColumnCount: 0,
frozenRowCount: 0,
}
});
这是“简写”
await worksheet.updateGridProperties({
frozenColumnCount: 0,
frozenRowCount: 0,
});
但是在这两种情况下,它仍然说我无法删除冻结的行。
我认为对于
gridProperties
的updateSheetProperties
来说,当你想使用frozenColumnCount
和frozenRowCount
时,需要将fields
设置为gridProperties(frozenColumnCount,frozenRowCount)
或gridProperties.frozenColumnCount,gridProperties.frozenRowCount
。
但是,当我看到google-spreadsheet的原始脚本时,只有
gridProperties
用作fields
的值。 Ref 在这种情况下,除了 frozenColumnCount
和 frozenRowCount
之外的所有属性都会重置。我猜这就是你当前问题it still say that i can't delete row frozen.
的原因。
不幸的是,我无法知道这种情况是否是作者预期的情况。因此,在这个答案中,我想提出使用当前规范的修改脚本。
await worksheet.updateGridProperties({
frozenColumnCount: 0,
frozenRowCount: 0,
...worksheet.gridProperties,
});
You can't delete all the rows on the sheet.
这样的错误。但是,当我确认 worksheet.gridProperties
时,仅检索到 rowCount
和 columnCount
的 2 个属性。因此,在本例中,使用了 frozenColumnCount
、frozenRowCount
、rowCount
和 columnCount
4 个属性。但是,对于 gridProperties
,有 7 个属性。 Ref 因此,其他 3 个属性被重置。因此,如果在您的实际电子表格中,当 hideGridlines
、rowGroupControlAfter
和 columnGroupControlAfter
的属性发生更改时,请将它们包含在上述对象中。这样,请求就会以 fields
的值为 gridProperties
运行。