标签: google-spreadsheet-api

在Google Spreadsheet API中添加一个简单的标题行

如何通过Google Spreadsheet API在programmaticaly创建的工作表上添加简单的标题行?很难理解他们的doc,它只提到了如何在已经创建的标题行上添加一行.如果首次使用基于单元格的Feed添加标题行,

// Fetch the cell feed of the worksheet.
  CellQuery cellQuery = new CellQuery(worksheet.CellFeedLink);
  CellFeed cellFeed = service.Query(cellQuery);

  // Iterate through each cell, updating its value if necessary.
  foreach (CellEntry cell in cellFeed.Entries)
  {
    if (cell.Title.Text == "A1")
    {
      cell.InputValue = "name";
      cell.Update();
    }
    else if (cell.Title.Text == "B1")
    {
      cell.InputValue = "age";
      cell.Update();
    }
  }
Run Code Online (Sandbox Code Playgroud)

此代码不能用作cellFeed.Entries为0,因此控件不会进入for循环.我已经添加了一个包含(4)行和(10)列的工作表.但是,如何首先输入一个简单的标题行(作为列),然后输入其他行(作为这些列中的值)?我知道已经提出的问题很少,但没有人提出答案,这是如此令人沮丧和难以理解这个API实施起来如此复杂?

c# google-spreadsheet-api

3
推荐指数
1
解决办法
2444
查看次数

用于过滤列的 Google 电子表格功能

我有一个谷歌电子表格。在 Sheet2 中我有一些数据,在 Sheet3 中我想过滤 Sheet2 中的数据。具体来说,我希望在 Sheet3 中只收集包含特定变量的 Sheet2 的那些列。

见上图,这是Sheet2

表格1

我希望在 Sheet3 中只有第 6 行中包含关键字“Gaetano”的列。因此结果表将只包含 Sheet2 的 B 列和 C 列。

我阅读了很多关于 FILTER 函数的信息,但我仍然无法解决我的问题。

提前致谢。

google-api google-sheets google-spreadsheet-api

3
推荐指数
1
解决办法
1万
查看次数

谷歌电子表格脚本在一定范围内创建数据验证

我正在尝试使用此脚本来创建数据验证,但它始终不起作用

   function test_validation()
      {
      var Spread = SpreadsheetApp.getActiveSpreadsheet();
      var Sheet = Spread.getSheetByName('Sheet1'); 
      var validate1 = Sheet.getRange("A1").getDataValidation();
      Logger.log(validate1.getCriteria());
      Logger.log(validate1.getCriteriaValues());
      var option = new Array();
      option[0]="true";
      option[1]="1";
      option[2]="2";
      option[3]="3";
      var criteria="ITEM_IN_LIST";
      var helpText="Test Help Text"
      var Combobox = Sheet.getRange("A2").getDataValidation();
      //The line below display error 
      //"Cannot find method  (class)setCriteria(string,String[]). "
      Combobox.setCriteria(criteria,option);
      Combobox.setHelpText(helpText);
      var validate2 = Sheet.getRange("A2").setDataValidation(Combobox);
      Logger.log(Sheet.getRange("A2").getDataValidation().getCriteria());
      Logger.log(Sheet.getRange("A2").getDataValidation().getCriteriaValues());
       }
Run Code Online (Sandbox Code Playgroud)

提前致谢。

google-apps-script google-spreadsheet-api

3
推荐指数
1
解决办法
1万
查看次数

从Appengine访问Google云端硬盘电子表格

我有一个appengine应用程序需要访问Google云端硬盘上的单个硬编码电子表格.

到目前为止,我已经实现了以下目标:

SpreadsheetService service = new SpreadsheetService("myapp");
service.setUserCredentials("myusername@gmail.com", "myhardcodedpassword");
Run Code Online (Sandbox Code Playgroud)

当我今天尝试使用新用户时,InvalidCredentialsException即使用户名和密码肯定是正确的.我的收件箱中收到一封电子邮件,说我已经阻止了登录,但是似乎没有办法再次启用它们.

我也知道在源代码中硬编码密码是不好的做法.

但是,我已经在网上非常广泛地阅读了如何为此启用OAuth/OAuth2,并最终浪费了数小时和数小时拼接来自博客,stackoverflow答案等的信息片段,但无济于事.

理想情况下,解决方案将涉及生成长期访问令牌的初始过程,然后可以将其硬编码到应用程序中.

我想要一个明确的步骤列表,了解如何实现这一目标?

google-app-engine google-spreadsheet-api google-drive-api google-oauth

3
推荐指数
1
解决办法
4万
查看次数

基于Value的Google电子表格中的重复行

我正在尝试以编程方式复制Google电子表格中的行.我希望行复制的次数基于行本身中的一个值.

例如,假设我有一个这样的表:

在此输入图像描述

您可以看到C列中有数字.C列中的值是我想复制该行的次数.这就是期望的结果:

在此输入图像描述

从技术上讲,如果C列中的值为3,我们将重复该行两次.

有关如何编写Google电子表格脚本以执行此操作的任何想法都会很棒!

谢谢!

google-sheets google-apps-script google-spreadsheet-api

3
推荐指数
1
解决办法
6046
查看次数

在Google Apps脚本中捕获针对电子表格应用模式对话框的onClose事件

当我showModalDialog()从电子表格应用程序关闭模态对话框(打开使用)时,我想做点什么.

但是我无法在Google提供的API文档中找到此类事件的参考.我发现了如何在警报框中捕获此事件,并且通过使用这段代码,我可以捕获用户关闭警报框的方式,但我不能在模态对话框或无模式对话框中使用它.

有没有办法做到这一点?如果你这样做,请回答.

javascript modal-dialog google-sheets google-apps-script google-spreadsheet-api

3
推荐指数
2
解决办法
1520
查看次数

对Google Spreadsheet的Maven依赖

在中添加了以下依赖项pom.xml

<dependency>
    <groupId>com.google.api.client</groupId>
    <artifactId>google-api-data-spreadsheet-v3</artifactId>
    <version>1.0.10-alpha</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用。它不包含任何必需的类。例如,SpreadsheetServiceSpreadsheetFeedSpreadsheetEntry等。

Google Spreadsheet还有其他Maven存储库吗?

另外,在文档中,他们没有提到任何Maven存储库。因此,我是否必须手动下载所需的JAR并将其添加到我的项目中?

如果我没有遵循StackOverflow的规范或错过了本应提及的细节,请回答或评论。

java maven google-spreadsheet-api

3
推荐指数
1
解决办法
1601
查看次数

如何在 Google 电子表格中获取单个工作表的工作表名称 - Google Sheet Api v4 - Java

我正在尝试使用 Google Sheet Api v4 在 Google Spreadsheet 中获取单个工作表的工作表名称。

我尝试了以下获取属性的方法:

  Spreadsheet response1= service.spreadsheets().get(spreadsheetId).setIncludeGridData (false).execute ();

  System.out.println (response1.getProperties ().getTitle ());
Run Code Online (Sandbox Code Playgroud)

但是,它显示实际电子表格的名称,而不是显示电子表格中各个工作表的名称。

有谁知道我们该怎么做?

java google-sheets google-spreadsheet-api google-sheets-api

3
推荐指数
1
解决办法
1万
查看次数

如何验证服务帐户以对 GDrive 表支持的 BigQuery 表进行查询?

我的情况如下:

Google 帐户 A 在 BigQuery 中有一些数据。

Google 帐户 B 管理帐户 A 的 BigQuery 数据,并且还获得了帐户 A 的 Cloud Platform 项目的编辑权限。

帐户 B 在 Google Drive 中有一个 Sheet,里面有一些很酷的参考数据。账户 B 登录到 BQ Web 控制台,并在此表支持的账户 A 的 BQ 项目中创建一个表。

一切都很好。账户 B 可以通过 Web UI 在账户 A 的 BQ 数据中成功查询并加入该表。

问题:

Google 帐户 A 也有一个服务帐户,它是 Google 帐户 A 的云平台项目的编辑器。此服务帐户使用 python google-cloud API 管理和查询 BQ 中的数据。当此服务帐户尝试查询由帐户 B 的 GDrive 表支持的引用表时,作业失败并显示以下错误:

Encountered an error while globbing file pattern.  JobID: "testing_gdrivesheet_query_job1"
Run Code Online (Sandbox Code Playgroud)

据我所知,这实际上是一个身份验证问题。我如何为账户 A 的服务账户授予对账户 B 的 GDrive …

google-sheets google-spreadsheet-api google-bigquery google-cloud-platform

3
推荐指数
2
解决办法
2769
查看次数

设置 setFormulas() 将清除现有数据

我想保留那些没有应用公式的单元格的单元格数据。

代码片段解释了该功能。

此解决方案也覆盖值,setFormulas 不会跳过空数组元素,覆盖值

var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getDataRange();
var Formulas = range.getFormulas();


for (var i in Formulas) {
    for (var j in Formulas[i]) {

        if (Formulas[i][j] == "") //cells which dont have the formula
        {
            //dont apply any formula, but keep the existing cell data (as it is)
        } else {
            Formulas[i][j] = '=HYPERLINK("http://www.google.com","Google")'
        }
    }
}

range.setFormulas(Formulas);
Run Code Online (Sandbox Code Playgroud)

google-sheets google-apps-script google-spreadsheet-api

3
推荐指数
1
解决办法
951
查看次数