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();