0
我正在從另一個應用程序中引入數據,但我不知道什麼是新的和什麼更新了,所以我正在清除工作表(逐行 - 這是時間密集型的)並重新添加行。我想知道是否有一種方法可以使用一個命令清除表單,以便我可以重新添加行。在一次調用中是否有一種清除數據表的方法
請記住,我的代碼是用C#編寫的。我不知道cURL或如何使用它。
謝謝。
我正在從另一個應用程序中引入數據,但我不知道什麼是新的和什麼更新了,所以我正在清除工作表(逐行 - 這是時間密集型的)並重新添加行。我想知道是否有一種方法可以使用一個命令清除表單,以便我可以重新添加行。在一次調用中是否有一種清除數據表的方法
請記住,我的代碼是用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爲主列和僅讀取單個列。
如果您的工作表很大,並且在刪除時發生超時錯誤,則需要對刪除進行分塊。 (爲什麼?刪除一行可能會觸發由於單元格鏈接,公式等引起的級聯更改)如果遇到問題,請告訴我,我可以更新示例。