如何在C#中使用google sheet API v4添加工作表?

Kat*_*Kat 4 c# google-api-dotnet-client google-sheets-api

我一直在使用Google表格API,并遵循Google指南.然而,除了谷歌的第二页之外,没有任何例子可以添加工作表并在.NET中写入新工作表.有很多js,但我不知道如何1)添加一张或2)写入新表.

我怎样才能做到这一点?现在我能像在例如与出任何问题阅读,我只找到一个其他的参考V4 C#.我尝试回到v3,但所有文档强烈建议使用v4.

有没有人能够做到这一点?以下是我迄今为止所做的一切:

        // Create Google Sheets API service.
        var service = new SheetsService(new BaseClientService.Initializer()
        {
            HttpClientInitializer = credential,
            ApplicationName = ApplicationName,
        });

        // Define request parameters.
        // Add new Sheet
        string sheetName = string.Format("{0} {1}", DateTime.Now.Month, DateTime.Now.Day);
        AddSheetRequest addSheetRequest = new AddSheetRequest();
        addSheetRequest.Properties.Title = sheetName;

        // How do I tell this to update??
Run Code Online (Sandbox Code Playgroud)

Kat*_*Kat 12

为了挽救将来的某个人头痛,以结束所有的头痛.我想出了如何在经过数小时的试验和错误后添加工作表.仍在研究如何更新值.

我是这样做的:

        // Create Google Sheets API service.
        var service = new SheetsService(new BaseClientService.Initializer()
        {
            HttpClientInitializer = credential,
            ApplicationName = ApplicationName,
        });

        // Add new Sheet
        string sheetName = string.Format("{0} {1}", DateTime.Now.Month, DateTime.Now.Day);
        var addSheetRequest = new AddSheetRequest();
        addSheetRequest.Properties = new SheetProperties();
        addSheetRequest.Properties.Title = sheetName;
        BatchUpdateSpreadsheetRequest batchUpdateSpreadsheetRequest = new BatchUpdateSpreadsheetRequest();
        batchUpdateSpreadsheetRequest.Requests = new List<Request>();
        batchUpdateSpreadsheetRequest.Requests.Add(new Request
        {
            AddSheet = addSheetRequest
        });

        var batchUpdateRequest =
            service.Spreadsheets.BatchUpdate(batchUpdateSpreadsheetRequest, spreadsheetId);

        batchUpdateRequest.Execute();
Run Code Online (Sandbox Code Playgroud)


小智 5

我正在寻找这个的 Java 版本,我设法根据 sparky 的答案获得了一个工作版本。这应该有效:

            //Set sheet name
            //Can be any string, I chose to set it to the account name
            String sheetName = mCredential.getSelectedAccountName();

            //Create a new AddSheetRequest
            AddSheetRequest addSheetRequest = new AddSheetRequest();
            SheetProperties sheetProperties = new SheetProperties();

            //Add the sheetName to the sheetProperties
            addSheetRequest.setProperties(sheetProperties);
            addSheetRequest.setProperties(sheetProperties.setTitle(sheetName));

            //Create batchUpdateSpreadsheetRequest
            BatchUpdateSpreadsheetRequest batchUpdateSpreadsheetRequest = new BatchUpdateSpreadsheetRequest();

            //Create requestList and set it on the batchUpdateSpreadsheetRequest
            List<Request> requestsList = new ArrayList<Request>();
            batchUpdateSpreadsheetRequest.setRequests(requestsList);

            //Create a new request with containing the addSheetRequest and add it to the requestList
            Request request = new Request();
            request.setAddSheet(addSheetRequest);
            requestsList.add(request);

            //Add the requestList to the batchUpdateSpreadsheetRequest
            batchUpdateSpreadsheetRequest.setRequests(requestsList);

            //Call the sheets API to execute the batchUpdate
            mService.spreadsheets().batchUpdate(spreadsheetId,batchUpdateSpreadsheetRequest).execute();
Run Code Online (Sandbox Code Playgroud)