6

私は Google Sheets API を使用しており、Google ガイドに従っています。ただし、Google の 2 ページ目を超えても、ワークシートを追加して .NET で新しいシートに書き込む例はありません。jsにはたくさんありますが、1)シートを追加する方法、または2)新しいシートに書き込む方法がわかりません。

これどうやってするの?今のところ、例のように問題なく読み取ることができ、v4 C# への参照は他に1 つしか見つかりませんでした。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??
4

5 に答える 5

18

すべての頭痛を終わらせるために、将来誰かを救います。何時間もの試行錯誤の末、シートを追加する方法を見つけました。値を更新する方法についてはまだ作業中です。

これが私がそれをした方法です:

        // 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();
于 2016-06-06T13:22:07.287 に答える
1

参考までに、ドキュメントの大部分は生の JSON を使用しているだけですが、各言語の構成要素に 1:1 でマッピングする必要があります。

たとえば、値を更新するには、次のようにします。

var valueRange = new ValueRange(); valueRange.values = { { 1, 2, 3 }, { 4, 5, 6 } }; var range = "A1"; var update = service.Spreadsheets.Values.Update(valueRange, spreadsheetId, range); var result = update.execute();

上記は、コード例と参照ドキュメント @ https://developers.google.com/sheets/reference/rest/v4/spreadsheets.values/updateに基づく疑似コードです。

于 2016-06-07T19:19:11.163 に答える
1

サムの答えをさらに拡張します。次の例では、セルを更新します。

            ValueRange VRx = new ValueRange();
            IList<IList<object>> xx = new List<IList<object>>();
            xx.Add(new List<object> { "test" });
            VRx.Values = xx;
            SpreadsheetsResource.ValuesResource.UpdateRequest update = service.Spreadsheets.Values.Update(VRx, spreadsheetId, "back!A19");
            update.ValueInputOption = SpreadsheetsResource.ValuesResource.UpdateRequest.ValueInputOptionEnum.RAW;
            UpdateValuesResponse result = update.Execute(); 

お役に立てれば!

于 2016-06-09T16:32:24.577 に答える