Google apps script 优化代码以及如何将活动电子表格的选定区域作为google文档的输入
我已经编写了脚本,用于将Google apps script 优化代码以及如何将活动电子表格的选定区域作为google文档的输入,google-apps-script,Google Apps Script,我已经编写了脚本,用于将12.4/12/12.03等格式更改为12:40:00/12:00:00/12:03:00 代码如下: function myFunction() { var sheet=SpreadsheetApp.getActiveSheet(); var rows= sheet.getDataRange(); var numRows=rows.getNumRows(); var values=rows.getValues() var column = [];
12.4/12/12.03
等格式更改为12:40:00/12:00:00/12:03:00
代码如下:
function myFunction() {
var sheet=SpreadsheetApp.getActiveSheet();
var rows= sheet.getDataRange();
var numRows=rows.getNumRows();
var values=rows.getValues()
var column = [];
var p = 0;
var k = "H";
for (var i=0;i<numRows;i++) {
// var cell =
//Split the string a the .
var string = values[i][7].split(".");
string[0] = string[0].toString();
p = i+1;
k = "H"+p;
var cell = sheet.getRange(k);
if(string[1]){
string[1] = string[1].toString();
// if the second part is like 4 in 12.4 you set it to 40
if(string[1]!=0) {
if (string[1].length == 1 )
{ string[1] += "0";}
}
// Set the row value to the format you like, here : 12:40:00/12:40
var changed_format = string[0] + ":" + string[1] + ":00";
values[i][7]=changed_format;
p = i+1;
k = "H"+p;
cell.setValue(changed_format);
}
else {
var changed_format = values[i][7]+":00:00";
cell.setValue(changed_format);
}
}
函数myFunction(){
var sheet=SpreadsheetApp.getActiveSheet();
var rows=sheet.getDataRange();
var numRows=rows.getNumRows();
var values=rows.getValues()
var列=[];
var p=0;
var k=“H”;
对于(var i=0;i优化代码的一个关键是减少对Google服务的调用数量,并尝试使用JavaScript完成这些调用。
请注意,我还没有测试过它——因此,如果您遇到一些小的语法错误,请随意修复它们,如果您无法修复它们,请大喊一声
function myFunction() {
var sheet=SpreadsheetApp.getActiveSheet();
var rows= sheet.getDataRange();
var values=rows.getValues();
var COL_H = 8;
var numRows=values.length ; // Length of array = nuymRows. rows.getNumRows();
var column = [];
//var p = 0;
//var k = "H";
var destArray = new Array();
for (var i=0;i<numRows;i++) {
// var cell =
//Split the string a the .
var string = values[i][7].split(".");
string[0] = string[0].toString();
//p = i+1;
//k = "H"+p;
//var cell = sheet.getRange(k);
if(string[1]){
string[1] = string[1].toString();
// if the second part is like 4 in 12.4 you set it to 40
if(string[1]!=0) {
if (string[1].length == 1 )
{ string[1] += "0";}
}
// Set the row value to the format you like, here : 12:40:00/12:40
var changed_format = string[0] + ":" + string[1] + ":00";
//values[i][7]=changed_format;
//p = i+1;
//k = "H"+p;
//cell.setValue(changed_format);
destArray.push([changed_format]);
}
else {
var changed_format = values[i][7]+":00:00";
//values [i][7] = changed_format;
//cell.setValue(changed_format);
destArray.push([changed_format]);
}
}
var destRange = sheet.getRange(1, COL_H, destArray.length, 1);
destRange.setValues(values);
}
函数myFunction(){
var sheet=SpreadsheetApp.getActiveSheet();
var rows=sheet.getDataRange();
var values=rows.getValues();
var COL_H=8;
var numRows=values.length;//数组的长度=numRows.rows.getNumRows();
var列=[];
//var p=0;
//var k=“H”;
var destArray=新数组();
对于(var i=0;i谢谢你…@Srik..从下一次开始…我将把格式化的代码..和什么是desArray.push…放入你的代码..还有没有办法将电子表格的选定区域作为参数或其他东西传递(作为脚本的输入)..??destArray.push
向数组中添加一个新元素。请记住,使用setValues
时,必须传递一个2D数组。因此数组中的每个元素本身就是一个数组。要使用所选区域,只需使用getActiveRange()
而不是getDataRange()