我正在尝试将表单数据发布到Google电子表格中.目前,如果表单已经过验证,则会发生以下情况:
if (validateForm === true) {
$.ajax({
type: 'post',
url: 'https://docs.google.com/spreadsheet/ccc?key=0AlwuDjMUxwhqdGp1WU1KQ0FoUGZpbFRuUDRzRkszc3c',
data: $("#workPLZ").serialize(),
success: alert($("#workPLZ").serialize())
});
}
else {}
Run Code Online (Sandbox Code Playgroud)
我使用成功设置来验证我的表单数据是否正确序列化(它是)并且它是成功的.但是,我的Google电子表格没有更新(没有数据通过).我在这里使用了示例代码,将doGet更改为doPost(http://mashe.hawksey.info/2011/10/google-spreadsheets-as-a-database-insert-with-apps-script-form-postget-submit-方法/),并使谷歌电子表格公开可用(并且可由任何人编辑).我按照说明,将代码复制到googledocs,然后运行setUp两次(第一次请求许可,第二次我运行它我没注意到任何事情发生).谁能帮我?我觉得我非常接近.
我正在使用Google应用脚本将表单数据写入电子表格.现在我想从Excel中获取符合条件的值(例如,按日期,用户名过滤)并使用app脚本显示它们.
我的电子表格有
+-------------+-----------+----------------------+
| Date | Username | Comment |
+-------------+-----------+----------------------+
| 2012-05-02 | palani | My first comment |
| 2012-05-02 | raja | My second comment |
| 2012-05-03 | palani | My third comment |
| 2012-05-03 | raja | My fourth comment |
+-------------+-----------+----------------------+
Run Code Online (Sandbox Code Playgroud)
现在我想过滤2012-05-02日期和raja用户名的数据,并使用app-script(作为Web服务运行)中的标签显示它们.
我的所有搜索都返回了解决方案SpreadsheetApp.getActiveSheet().getDataRange();,我认为这不是优化方式,可以在工作表中显示1000多行中的一条记录.
编辑
现在,我.getValues()只使用.这里显示的数据仅供参考; 我的实际工作表现在有15列和5000多行.最终它将增长到数百万,因为这是一个时间表应用程序.我想知道有没有其他方法来getValues()过滤行?
=Filter在tmp单元格上应用公式也是一个问题,因为脚本可以由多个人同时使用.
Sheet.getRange(1,1,1,12)
Run Code Online (Sandbox Code Playgroud)
我无法理解这些论点1,1,1,12.这是什么 - 表单ID或行或什么?
method getRange(row, column, optNumRows, optNumColumns)
Run Code Online (Sandbox Code Playgroud)
这是什么意思optNumRows和optNumColumns意思???
在共享的Google电子表格中:
我不希望我的域中的特定用户查看包含敏感数据的列,但此人仍应能够编辑电子表格的其余部分.
我尝试创建一个"主"电子表格并使用importrange将数据转换为"共享"工作表,但是一旦我编辑了共享电子表格中的任何单元格,importrange就不再有效,因为工作表已清空.
有没有快速的方法来做到这一点,也许使用脚本?
https://developers.google.com/apps-script/guides/rest/api#parameter_and_return_types
使用Google Execution Api for Java时,电子表格的ID不是很容易理解.这是代码片段:
// Initialize parameters for that function.
String sheetId = "<ENTER_ID_OF_SPREADSHEET_TO_EXAMINE_HERE>";
List<Object> params = new ArrayList<Object>();
params.add(sheetId);
Run Code Online (Sandbox Code Playgroud)
关于如何找到这个的任何想法.我运行Sheets api来返回SpreadSheet的id,但它返回一个链接,当我使用https://spreadsheets.google.com/feeds/spreadsheets/ STRING或只是STRING本身时,我仍然得到:"code" :404,"errors":[{"domain":"global","message":"找不到请求的实体.","reason":"notFound"
如果在该行中为"C"列输入的值为0或空白,我希望能够删除Google Spreadsheets中的整行.有没有一个简单的脚本我可以编写来完成这个?谢谢!
我的谷歌应用程序脚本正在迭代用户的谷歌驱动器文件和复制,有时将文件移动到其他文件夹.该脚本始终在5分钟后停止,日志中没有错误消息.
我在一次运行中排序数十或有时数千个文件.
有任何设置或解决方法吗?
员工表包含单元格C2中员工的姓名.员工的姓名也应该在B3:B153范围内的数据表中.
如何在数据表中获取与员工姓名匹配的单元格的rownumber?
我尝试了以下脚本,但它似乎不起作用.
var Sheet = SpreadsheetApp.getActive();
var Employeesheet = Sheet.getSheetByName('Employee')
var DataSheet = Sheet.getSheetByName('Data');
var Column = Sheet.getRange(3,2,151,1);
var Values = column.getValues();
var Row = 0;
while ( Values[Row] && Values[Row][0] !=(EmployeeSheet.getRange(2,3,1,1).getValue()) ) {
Row++;
}
if ( Values[Row][0] === (EmployeeSheet.getRange(2,3,1,1).getValue()) )
return Row+1;
else
return -1;
}
Run Code Online (Sandbox Code Playgroud) 我知道这很简单.
在Google电子表格中,我有一个列,我在一个时区(GMT)中输入时间而另一列应该自动在另一个时区(太平洋时间)获取时间
GMT | PT
----------|------------
5:00 AM | 9:00 PM
Run Code Online (Sandbox Code Playgroud)
截至目前我正在使用
=$C$3-time(8,0,0)
Run Code Online (Sandbox Code Playgroud)
这里的问题是,我想更改夏令时的时间公式.
是否有任何可用的功能或脚本可以将夏令时自动计算.
ajax ×1
dst ×1
formulas ×1
google-docs ×1
java ×1
jquery ×1
row-number ×1
spreadsheet ×1
timezone ×1