如何在 SheetsService c# 中获取 SheetID

How to get SheetID in SheetsService c#

感谢您的阅读 :) 我正在使用 Blazor 服务器和 Google.Apis.Sheets.v4。我正在尝试使用以下代码删除 sheet 中的列:

serviceSheet = new SheetsService(new Google.Apis.Services.BaseClientService.Initializer()
{
     HttpClientInitializer = credentialSheet,
     ApplicationName = ApplicitionNameSheet
});

 

public void DelteColumns(string ID, int start, int end)
    {
       
        Request RequestBody = new Request()
        {
            DeleteDimension = new DeleteDimensionRequest()
            {
                Range = new DimensionRange()
                {
                    SheetId = 0,
                    Dimension = "COLUMNS",
                    StartIndex = start,
                    EndIndex = end
                }
            }
        };

        List<Request> RequestContainer = new List<Request>();
        RequestContainer.Add(RequestBody);

        BatchUpdateSpreadsheetRequest DeleteRequest = new BatchUpdateSpreadsheetRequest();
        DeleteRequest.Requests = RequestContainer;

        SpreadsheetsResource.BatchUpdateRequest Deletion = new SpreadsheetsResource.BatchUpdateRequest(serviceSheet, DeleteRequest, ID);
        Deletion.Execute();
    }

但是为此我需要 DeleteDimensionRequest 的 SheetID。我在 spreadsheet 中只有 1 sheet,但他的 SheetID 不是 0。我得到错误,没有索引为 0 的网格。我找不到获取 SheetId 的方法。请你帮助我好吗?也许你至少可以给我方向 google :)

我不熟悉API,但也许我可以帮助你。

您首先需要获取Spreadsheet object. Probably using SpreadsheetResource.Get(...)方法。

然后您可以使用 Spreadsheet.Sheets 属性 访问个人 sheets。

然后访问 sheet 属性:SheetProperties.SheetId

传播sheet.Sheets[0].Properties.SheetId

如果您需要查找传播sheetId,请检查此documentation