【问题标题】:c# google spreadhseets inputing into a specific cellc# google电子表格输入到特定单元格
【发布时间】:2012-08-12 04:46:06
【问题描述】:

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

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

【问题讨论】:

  • 您使用的是此处找到的 .NET 库吗? code.google.com/p/google-gdata
  • 是的,我正在使用它。我终于找到了答案。我想您必须将 CellQuery 的列和行的最小值和最大值设置为相同,以便 CellFeed.Entries 数组只有一个成员。然后,您只需访问该成员。 (见下面的代码)

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


【解决方案1】:
/// <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);
    }
猜你喜欢
  • 2023-01-30
  • 2014-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多