1

我必須複製現有工作表並重命名它。而且我找不到任何有關如何通過Google工作表API v4重命名工作表的信息。 現在我有:.Net(C#) - 如何使用谷歌表格api v4重命名列表(表單)?

var defaultSheet = service.Spreadsheets 
      .Get(spreadsheetKey) 
      .Execute().Sheets 
      .First(x => x.Properties.Title.Equals("Default sheet")); 
    var newSheet = Service.Spreadsheets.Sheets.CopyTo(
      new CopySheetToAnotherSpreadsheetRequest { DestinationSpreadsheetId = spreadsheetKey }, 
      spreadsheetKey, 
      (int)defaultSheet.Properties.SheetId); 

我希望任何人有任何想法如何做到這一點。

在此先感謝!

+0

不['UpdateSheetPropertiesRequest'](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/請求#UpdateSheetPropertiesRequest)的幫助? – shahkalpesh

+0

上述請求可能與['batchUpdate'](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/batchUpdate)api調用一起使用。 – shahkalpesh

+0

是的,我用它,但'batchUpdate'預期另一種輸入模型。我無法找到如何將'UpdateSheetPropertiesRequest'包含到'batchUpdate'方法中的方法。 – user2788355

回答

0

溶液(如何複製與指定名稱片):

var defSheet = Service.Spreadsheets.Get(baseUrl).Execute().Sheets.First(x => x.Properties.Title.Equals("OldSheet")); 
    var newSheet = new Request 
    { 
     DuplicateSheet = new DuplicateSheetRequest 
     { 
      SourceSheetId = defSheet.Properties.SheetId, 
      NewSheetName = "NewSheet", 
      InsertSheetIndex = 1 
     } 
    }; 
    var y = new BatchUpdateSpreadsheetRequest { Requests = new List<Request> { newSheet } }; 
    Service.Spreadsheets.BatchUpdate(y, baseUrl).Execute();