Saltar al contenido

Acceder a las hojas de cálculo de Google con C# mediante la API de datos de Google

Revisamos de forma exhaustivamente cada escrito en nuestro sitio web con la meta de mostrarte en todo momento información más veraz y actual.

Solución:

De acuerdo con la guía del usuario de .NET:

Descargue la biblioteca del cliente .NET:

Agregue estas instrucciones de uso:

using Google.GData.Client;
using Google.GData.Extensions;
using Google.GData.Spreadsheets;

Autenticar:

SpreadsheetsService myService = new SpreadsheetsService("exampleCo-exampleApp-1");
myService.setUserCredentials("[email protected]", "mypassword");

Obtener una lista de hojas de cálculo:

SpreadsheetQuery query = new SpreadsheetQuery();
SpreadsheetFeed feed = myService.Query(query);

Console.WriteLine("Your spreadsheets: ");
foreach (SpreadsheetEntry entry in feed.Entries)

    Console.WriteLine(entry.Title.Text);

Dada una entrada de hoja de cálculo que ya ha recuperado, puede obtener una lista de todas las hojas de trabajo en esta hoja de cálculo de la siguiente manera:

AtomLink link = entry.Links.FindService(GDataSpreadsheetsNameTable.WorksheetRel, null);

WorksheetQuery query = new WorksheetQuery(link.HRef.ToString());
WorksheetFeed feed = service.Query(query);

foreach (WorksheetEntry worksheet in feed.Entries)

    Console.WriteLine(worksheet.Title.Text);

Y obtén un feed basado en celdas:

AtomLink cellFeedLink = worksheetentry.Links.FindService(GDataSpreadsheetsNameTable.CellRel, null);

CellQuery query = new CellQuery(cellFeedLink.HRef.ToString());
CellFeed feed = service.Query(query);

Console.WriteLine("Cells in this worksheet:");
foreach (CellEntry curCell in feed.Entries)

    Console.WriteLine("Row 0, column 1: 2", curCell.Cell.Row,
        curCell.Cell.Column, curCell.Cell.Value);

Escribí un contenedor simple alrededor de la biblioteca de cliente .Net de Google, expone una interfaz similar a una base de datos más simple, con tipos de registro fuertemente tipados. Aquí hay un código de muestra:

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("[email protected]", "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(tableName) ?? db.CreateTable(tableName); // tables are worksheets
table.DeleteAll();
table.Add(e1);
table.Add(e2);
var r1 = table.Get(1);

También hay un proveedor LINQ que traduce a los operadores de consultas estructuradas de Google:

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

(Junio-Noviembre 2016) La pregunta y sus respuestas ahora están desactualizadas ya que: 1) Las API de GData son la generación anterior de las API de Google. Si bien no todas las API de GData han quedado obsoletas, todas las API de Google más recientes sí. no utilizar el Protocolo de datos de Google; y 2) hay una nueva API v4 de Google Sheets (tampoco GData).

A partir de aquí, debe obtener la biblioteca de cliente de las API de Google para .NET y utilizar la API de hojas más reciente, que es mucho más potente y flexible que cualquier API anterior. Aquí hay una muestra de código C# para ayudarlo a comenzar. Consulte también los documentos de referencia de .NET para la API de hojas y la guía para desarrolladores de la biblioteca de clientes de las API de Google de .NET.

Si no eres alérgico a Python (si lo eres, solo finge que es pseudocódigo 😉 ), hice varios videos con ejemplos un poco más largos y más “reales” del uso de la API de la que puedes aprender y migrar a C# si lo deseas :

  • Migración de datos SQL a una hoja (publicación de código profundo)
  • Formateo de texto usando la API de Hojas (publicación profunda de código)
  • Generación de diapositivas a partir de datos de hojas de cálculo (publicación de código profundo)
  • Esos y otros en la biblioteca de videos de Sheets API

Puntuaciones y comentarios

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *