如何使用c#在Google电子表格中插入一行

时间:2010-02-02 13:21:52

标签: c# google-sheets

我见过; Accessing Google Spreadsheets with C# using Google Data API

http://code.google.com/apis/spreadsheets/data/2.0/developers_guide_dotnet.html#CreatingRows

但是,我仍然无法在现有的Google电子表格中插入新行。有没有人有一个固定示例,例如在电子表格工作簿的新行中插入List<string>

非常感谢,

2 个答案:

答案 0 :(得分:3)

使用GDataDB http://github.com/mausch/GDataDB

GDataDB提供了一种将.net POCO实体插入谷歌电子表格的简单方法。

    public void AddToGoogle()
    {
        var client = new DatabaseClient(Settings.Default.GmailAccount, Settings.Default.GmailPassword);
        string dbName = Settings.Default.WorkBook;

        var db = client.GetDatabase(dbName) ?? client.CreateDatabase(dbName);
        string tableName = Settings.Default.WorkSheet;

        var t = db.GetTable<ActivityLog>(tableName) ?? db.CreateTable<ActivityLog>(tableName);
        var all = t.FindAll();

        t.Add(this);
    }

答案 1 :(得分:0)

Google停止提供这项服务,现在又推出了另一款名为Google.Apis.Sheets.v4服务的服务。

所以上面的代码现在不会工作,我已经尝试了。

找到适合我的东西。

我写了一篇博客并在那里分享了整个源代码。看看吧。

private static SheetsService AuthorizeGoogleApp()
 {
     UserCredential credential;

     using (var stream =
         new FileStream("client_secret.json", FileMode.Open, FileAccess.Read))
     {
         string credPath = System.Environment.GetFolderPath(
             System.Environment.SpecialFolder.Personal);
         credPath = Path.Combine(credPath, ".credentials/sheets.googleapis.com-dotnet-quickstart.json");

         credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
             GoogleClientSecrets.Load(stream).Secrets,
             Scopes,
             "user",
             CancellationToken.None,
             new FileDataStore(credPath, true)).Result;
         Console.WriteLine("Credential file saved to: " + credPath);
     }

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

     return service;
 }

对于整个源代码,请查看它。使用Google.Apis.Sheets.V4服务

向Google表格中插入新行