【问题标题】:.Net (C#) - How to rename list (sheet) using google sheets api v4?.Net (C#) - 如何使用 google sheet api v4 重命名列表(工作表)?
【发布时间】:2017-04-11 13:18:34
【问题描述】:

我必须复制现有的工作表并重命名它。而且我找不到任何信息如何通过 Google 表格 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);

我希望有人知道怎么做。

提前致谢!

【问题讨论】:

  • 以上请求可以结合batchUpdateapi调用使用。
  • 是的,我使用了它,但batchUpdate 期望另一个输入模型。而且我找不到如何将UpdateSheetPropertiesRequest 包含到batchUpdate 方法中的方法。
  • 是否在请求正文中添加此 json { "requests": [ { "updateSpreadsheetProperties": { "properties": { "title": "NewSheetName" } } } ] } 以获得发布帮助?
  • 谢谢shahkalpesh!我找到了使用Request 类的解决方案。将其添加到问题中。

标签: c# .net google-sheets-api google-api-dotnet-client


【解决方案1】:

解决方案(如何复制指定名称的工作表):

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多