Google Apps脚本-读取电子表格数据,循环并写回数据 [英] Google Apps Script - Read spreadsheet data, loop, and write data back
问题描述
我正在寻找一些帮助,以逐行遍历电子表格中的一组数据,然后将第一个单元格中的值写入新工作表,然后将各行中的每个单元格值写入.
I'm looking for some help on looping through a set of data in a spreadsheet by row, then write the value in the first cell to a new sheet followed by each cell value across the rows.
此处是指向样本数据集的链接. 示例数据
Here is a link to a sample set of data. Sample Data
Sheet1显示原始数据.我想读入该数据并将其写入第二页(2),以使它看起来像上述链接的第二页一样.
Sheet1 on the above spreadsheet shows the raw data. I want to read in that data and write it to sheet two (2) so that it looks like what is on sheet 2 of the above link.
这是我当前拥有的代码,但是它将所有数据写到单个列中.
Here is the current code I have but it writes all data into a single column.
function myfunction() {
var sheet = SpreadsheetApp.getActiveSheet();
var sheet2 =
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet2');
var data = sheet.getDataRange().getValues();
for (var i = 0; i < data.length; i++) {
for (var j = 0; j < data[i].length; j++) {
var iava_value = (data[i][0]);
var lastRow = sheet2.getLastRow();
sheet2.getRange(lastRow +1, +1).setValue(data[i][j]);
}
}
}
推荐答案
这是我尝试执行的工作版本.
Here is a working version of what I was trying to do.
function transpose() {
var sheet =
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
var sheet2 =
SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet2');
var data = sheet.getDataRange().getValues();
var myRA = new Array(2);
for (var i = 0; i < data.length; i++) {
//GET IAVA No
var iava_no = data[i][0];
for (var j = 1; j < data[i].length; j++) {
var plugin_id = (data[i][j]);
if(plugin_id === "" || plugin_id =="n" || plugin_id == "a"){
break;
}
else
{
Logger.log(plugin_id);
var lastrow = sheet2.getLastRow();
sheet2.getRange(lastrow + 1, 1).setValue(data[i][0]);
sheet2.getRange(lastrow + 1, 2).setValue(data[i][j]);
}
}
}
}
这篇关于Google Apps脚本-读取电子表格数据,循环并写回数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!