[c#] Accesso a Google fogli di calcolo con C # utilizzando l'API di dati di Google


Answers

Ho scritto un semplice wrapper attorno alla libreria client .Net di Google , espone un'interfaccia più semplice simile a un database, con tipi di record fortemente tipizzati. Ecco alcuni esempi di codice:

public class Entity {
    public int IntProp { get; set; }
    public string StringProp { get; set; }
}

var e1 = new Entity { IntProp = 2 };
var e2 = new Entity { StringProp = "hello" };
var client = new DatabaseClient("you@gmail.com", "password");
const string dbName = "IntegrationTests";
Console.WriteLine("Opening or creating database");
db = client.GetDatabase(dbName) ?? client.CreateDatabase(dbName); // databases are spreadsheets
const string tableName = "IntegrationTests";
Console.WriteLine("Opening or creating table");
table = db.GetTable<Entity>(tableName) ?? db.CreateTable<Entity>(tableName); // tables are worksheets
table.DeleteAll();
table.Add(e1);
table.Add(e2);
var r1 = table.Get(1);

C'è anche un provider LINQ che si traduce in operatori di query strutturati di google:

var q = from r in table.AsQueryable()
        where r.IntProp > -1000 && r.StringProp == "hello"
        orderby r.IntProp
        select r;
Question

Sto avendo alcune informazioni in Google Spreadsheets come un singolo foglio. C'è un modo in cui posso leggere queste informazioni da .NET, fornendo le credenziali di google e l'indirizzo del foglio di calcolo. È possibile utilizzare le API di dati di Google. In definitiva ho bisogno di ottenere le informazioni dal foglio di lavoro Google in un DataTable. Come posso farlo? Se qualcuno lo ha provato, pls condividerà alcune informazioni.







Puoi fare ciò che stai chiedendo in diversi modi:

  1. Utilizzando la libreria C # di fogli di calcolo di Google (come nella risposta di Tacoman667) per scaricare un ListFeed che può restituire un elenco di righe (ListEntry in Google parlance) ognuna delle quali ha un elenco di coppie nome-valore. La documentazione dell'API del foglio di lavoro Google ( http://code.google.com/apis/spreadsheets/code.html ) contiene più di informazioni sufficienti per iniziare.

  2. Utilizzando l'API di visualizzazione di Google che ti consente di inviare query più sofisticate (quasi come SQL) per recuperare solo le righe / colonne necessarie.

  3. I contenuti del foglio di calcolo vengono restituiti come feed Atom in modo da poter utilizzare l'analisi XPath o SAX per estrarre il contenuto di un feed elenco. C'è un esempio di come fare in questo modo (in Java e Javascript solo se ho paura) su http://gqlx.twyst.co.za .




Links