如何通过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实施起来如此复杂?
我有一个谷歌电子表格。在 Sheet2 中我有一些数据,在 Sheet3 中我想过滤 Sheet2 中的数据。具体来说,我希望在 Sheet3 中只收集包含特定变量的 Sheet2 的那些列。
见上图,这是Sheet2

我希望在 Sheet3 中只有第 6 行中包含关键字“Gaetano”的列。因此结果表将只包含 Sheet2 的 B 列和 C 列。
我阅读了很多关于 FILTER 函数的信息,但我仍然无法解决我的问题。
提前致谢。
我正在尝试使用此脚本来创建数据验证,但它始终不起作用
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)
提前致谢。
我有一个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
我正在尝试以编程方式复制Google电子表格中的行.我希望行复制的次数基于行本身中的一个值.
例如,假设我有一个这样的表:

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

从技术上讲,如果C列中的值为3,我们将重复该行两次.
有关如何编写Google电子表格脚本以执行此操作的任何想法都会很棒!
谢谢!
当我showModalDialog()从电子表格应用程序关闭模态对话框(打开使用)时,我想做点什么.
但是我无法在Google提供的API文档中找到此类事件的参考.我发现了如何在警报框中捕获此事件,并且通过使用这段代码,我可以捕获用户关闭警报框的方式,但我不能在模态对话框或无模式对话框中使用它.
有没有办法做到这一点?如果你这样做,请回答.
javascript modal-dialog google-sheets google-apps-script google-spreadsheet-api
在中添加了以下依赖项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)
但这似乎不起作用。它不包含任何必需的类。例如,SpreadsheetService,SpreadsheetFeed,SpreadsheetEntry等。
Google Spreadsheet还有其他Maven存储库吗?
另外,在本文档中,他们没有提到任何Maven存储库。因此,我是否必须手动下载所需的JAR并将其添加到我的项目中?
如果我没有遵循StackOverflow的规范或错过了本应提及的细节,请回答或评论。
我正在尝试使用 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)
但是,它显示实际电子表格的名称,而不是显示电子表格中各个工作表的名称。
有谁知道我们该怎么做?
我的情况如下:
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
我想保留那些没有应用公式的单元格的单元格数据。
代码片段解释了该功能。
此解决方案也覆盖值,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)