有没有一种方法可以在一次调用中清除一张数据



我正在从另一个应用程序引入数据,但我不知道有什么新内容和更新了什么,所以我正在清除工作表(逐行 - 这是时间密集型的)并重新添加行。 我想知道是否有办法用一个命令清除工作表,以便我可以重新添加我的行。

请记住,我的代码是 C# 编写的。 我不知道cURL或如何使用它。

没有一个命令可以删除所有行。但是,您可以指定要删除的行列表。 下面是一些示例代码。

var ss = new SmartsheetBuilder().SetAccessToken(accessToken).Build();
var allColumns = ss.SheetResources.ColumnResources.ListColumns(sheetId, null, null);
long primaryColumnId = (long) allColumns.Data.First(c => c.Primary == true).Id;
var columnsToRead = new long[] { primaryColumnId };
Sheet sheet = ss.SheetResources.GetSheet(sheetId, null, null, null, null, columnsToRead, null, null);
var rowsToDelete = sheet.Rows.Select(r => (long) r.Id);
ss.SheetResources.RowResources.DeleteRows(sheetId, rowsToDelete, true);

笔记:

  • 为了避免读取整个工作表,此示例确定主列的 id,并仅读取该单个列。

  • 如果您的工作表很大,并且在删除时出现超时错误,则需要对删除进行分块。(为什么?删除行可能会由于单元格链接、公式等原因触发级联更改。如果您遇到问题,请告诉我,我可以更新示例。

最新更新