2017-03-17 18 views
0

我正在從另一個應用程序中引入數據,但我不知道什麼是新的和什麼更新了,所以我正在清除工作表(逐行 - 這是時間密集型的)並重新添加行。我想知道是否有一種方法可以使用一個命令清除表單,以便我可以重新添加行。在一次調用中是否有一種清除數據表的方法

請記住,我的代碼是用C#編寫的。我不知道cURL或如何使用它。

謝謝。

回答

1

沒有單個命令刪除所有行。但是,您可以指定要刪除的行列表。 以下是一些示例代碼。

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爲主列和僅讀取單個列。

  • 如果您的工作表很大,並且在刪除時發生超時錯誤,則需要對刪除進行分塊。 (爲什麼?刪除一行可能會觸發由於單元格鏈接,公式等引起的級聯更改)如果遇到問題,請告訴我,我可以更新示例。

相關問題