2010-02-02 6 views
1

J'ai vu; Accessing Google Spreadsheets with C# using Google Data APIComment puis-je insérer une ligne dans une feuille de calcul Google en utilisant C#

et

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

Cependant, je suis toujours avoir du mal à insérer une nouvelle ligne dans une feuille de calcul de Google existant. Est-ce que quelqu'un a un exemple en conserve qui insère un List<string> par exemple dans une nouvelle ligne dans un classeur de feuille de calcul.

Un grand merci,

Répondre

3

Utilisez GDataDB http://github.com/mausch/GDataDB

GDataDB offre un moyen simple d'insérer des entités .net POCO dans une feuille de diffusion de Google.

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); 
    } 
0

Ce service de Google sont abandonnées et maintenant ils sont venus avec un autre nom services Google.Apis.Sheets.v4.

donc le code ci-dessus ne fonctionnera pas maintenant quelques jours, j'ai déjà essayé.

Et trouvez quelque chose qui a fonctionné pour moi.

J'ai écrit un blog et partagé le code source entier là. Vérifiez-le.

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; 
} 

Pour tout le code source, vérifiez-le. Insérer une nouvelle ligne dans Google Sheet à l'aide de Google.Apis.Sheets.V4 Services

Questions connexes