C# 修改google sheet中sheet的属性(以hide sheet举例)

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.ComponentModel;

using System.Activities;

using Microsoft.Office.Interop.Excel;

using Google.Apis.Sheets.v4.Data;

using Google.Apis.Sheets.v4;

using Google.Apis.Sheets;

using Google.Apis.Services;

using Google.Apis.Auth.OAuth2;

using static Google.Apis.Sheets.v4.SheetsService;

using System.IO;

  public void HideGoogleSheet()

        {

            try

            {

                string[] Scopes = { SheetsService.Scope.Spreadsheets };

                string tagSheetName = "hide sheet name";

                string SpreadsheetId = "spreadsheet id";

                string ApplicationName = "HideSheet";

                //Secretkey.json 参考获取google cloud secret key(可在google cloud的setting中获取,网上有很多资料和视频)

                string secretPath = "C:\\user\\Secretkey.json";

                int sheetId = 0;

                GoogleCredential credential;

                //Reading Credentials File...

                using (var stream = new FileStream(secretPath, FileMode.Open, FileAccess.Read))

                {

                    credential = GoogleCredential.FromStream(stream)

                        .CreateScoped(Scopes);

                }

                SheetsService service = new SheetsService(new BaseClientService.Initializer()

                {

                    HttpClientInitializer = credential,

                    ApplicationName = ApplicationName,

                });

                var sheets = service.Spreadsheets.Get(SpreadsheetId);

                var sheetsResponse = sheets.Execute();

               

                foreach (Google.Apis.Sheets.v4.Data.Sheet item in sheetsResponse.Sheets)

                {

                    if (item.Properties.Title == tagSheetName)

                    {

                        sheetId = (int)item.Properties.SheetId;

                        Console.Write("SheetName: "+item.Properties.Title);

                        break;

                    }

                }

                if (sheetId > 0)

                {

                    BatchUpdateSpreadsheetRequest busRequest = new BatchUpdateSpreadsheetRequest();

                    var request = new Request()

                    {

                        UpdateSheetProperties = new UpdateSheetPropertiesRequest

                        {

                            Properties = new SheetProperties()

                            {

                                Hidden = true,

                                SheetId = sheetId

                            },

                            Fields = "Hidden"

                        }

                    };

                    busRequest.Requests = new List<Request>();

                    busRequest.Requests.Add(request);

                    var bur = service.Spreadsheets.BatchUpdate(busRequest, SpreadsheetId);

                    bur.Execute();

                }

            }

            catch (Exception ex)

            {

               string es = ex.Message;

                throw ex;

            }

        }

需要添加引用

 

Google sheet和excel一样,如果需要对内容以及属性进行更新,就需要有一个提交请求的动作(Execute())

最后贴上一张调试图,以提醒自己实现时的经历

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值