c#google电子表格输入特定单元格

时间:2012-08-15 20:41:36

标签: c# google-sheets gdata-api google-docs

我正在尝试使用C#写入Google电子表格中的特定单元格,而不必搜索每个单元格,看看它是否是正确的单元格。例如,我不想搜索工作表中所有单元格的标题中是否有“A1”以写入A1。在其他编程语言(python)中,我发现了大量有关如何执行此操作的示例,但我在C#中找不到相同的方法。我该怎么做:

cell[1,1].value = "JoMama";

1 个答案:

答案 0 :(得分:4)

/// <summary>
    /// Updates a single cell in the specified worksheet.
    /// </summary>
    /// <param name="service">an authenticated SpreadsheetsService object</param>
    /// <param name="entry">the worksheet to update</param>
    private static void UpdateCell(SpreadsheetsService service, WorksheetEntry entry)
    {
        AtomLink cellFeedLink = entry.Links.FindService(GDataSpreadsheetsNameTable.CellRel, null);
        CellQuery query = new CellQuery(cellFeedLink.HRef.ToString());
        Console.WriteLine();

        Console.Write("Row of cell to update? ");
        string row = Console.ReadLine();

        Console.Write("Column of cell to update? ");
        string column = Console.ReadLine();

        query.MinimumRow = query.MaximumRow = uint.Parse(row);
        query.MinimumColumn = query.MaximumColumn = uint.Parse(column);

        CellFeed feed = service.Query(query);
        CellEntry cell = feed.Entries[0] as CellEntry;

        Console.WriteLine();
        Console.WriteLine("Current cell value: {0}", cell.Cell.Value);
        Console.Write("Enter a new value: ");
        string newValue = Console.ReadLine();

        cell.Cell.InputValue = newValue;
        AtomEntry updatedCell = cell.Update();

        Console.WriteLine("Successfully updated cell: {0}", updatedCell.Content.Content);
    }