这让我发疯了!我正在尝试将一个工作表中的值返回到另一工作表中。
在我的代码中,我记录了详细信息,它们是正确的值。但是,工作表仅显示第一行,而不显示应显示的10行!
如何将结果返回到不同Sheet
(而不是Spreadsheet
)中的特定范围内?
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var source = ss.getSheetByName("config");
var target = ss.getSheetByName("Sheet7");
target.getRange("A1").setValue("Year");
target.getRange("B1").setValue("Start Date");
target.getRange("C1").setValue("Subject");
target.getRange("D1").setValue("Start Time");
target.getRange("E1").setValue("End Date");
target.getRange("F1").setValue("End Time");
target.getRange("G1").setValue("All Day");
target.getRange("H1").setValue("Description");
target.getRange("I1").setValue("Location");
target.getRange("J1").setValue("Sequence");
target.getRange("K1").setValue("TRANSP");
target.getRange("L1").setValue("CLASS");
var sheet = SpreadsheetApp.getActiveSpreadsheet();
SpreadsheetApp.setActiveSheet(sheet.getSheetByName('Sheet7'))
var tab = SpreadsheetApp.setActiveSheet(sheet.getSheetByName('config'))
var numberOfRows = tab.getLastRow();
var firstRow = 1;
var actualData = tab.getRange(18, 1, 10, 2);
var values = actualData.getValues();
var countryfield = tab.getRange(2,8);
var countryname = countryfield.getValues();
var yearfield = tab.getRange(1,8);
var year = yearfield.getValues();
for (var row in values) {
for (var col in values[row]) {
Logger.log(values[row][col]);
target.getRange("A2").setValue(year); //location
target.getRange("B2").setValue((values[col]));
target.getRange("C2").setValue(/*"Darren:" + */(values[col][1]));
target.getRange("D2").setValue('00:00'); //start time
target.getRange("E2").setValue('00:00'); //end date
target.getRange("F2").setValue('23:59'); //end time
target.getRange("G2").setValue('true'); //All Day?
target.getRange("H2").setValue((values[col][1])); //description
target.getRange("I2").setValue(countryname); //location
target.getRange("J2").setValue('0'); //sequence
target.getRange("K2").setValue('OPAQUE'); //transp
target.getRange("L2").setValue('PUBLIC'); //class
}
}
var sheet = SpreadsheetApp.getActiveSpreadsheet();
SpreadsheetApp.setActiveSheet(sheet.getSheetByName('Sheet7'))
}