我正在使用以下代码行从FB api调用中推送电子表格中的一些数据:
ass = SpreadsheetApp.getActiveSpreadsheet();
ass.getRange('a1').offset(0, 0, ar.length, ar[0].length).setValues(ar);
然而有了这个,我的数据在两列上排序如下:
Data1 Value1
Data2 Value2
Data3 Value3
我想要以下输出:
Data1 Data2 Data3
Value1 Value2 Value3
当我使用apprendRow方法时,我遇到了错误。我也试过像这样重构我的代码:
for (var i in data.data){
for (var k in data.data[i].values) {
sheet.appendRow([data.data[i].values[k].value]);
}
但仍未成功。
我知道这是一个共同问题,但我找不到可以帮助我的答案。
感谢。
答案 0 :(得分:2)
如果它只有2列,你可以试试这个:
function transpose(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet()
var array = sheet.getRange('A1:B3').getValues(); //or define your own range
var newArray = array[0].map(function(col, i) {
return array.map(function(row) {
return row[i]
})
})
var i = 0;
while (i < newArray.length) {
sheet.appendRow(newArray[i]); // or pick a different sheet to appended to
i++
}
}
答案 1 :(得分:0)
确定。我想出了以下解决方案:
ass = SpreadsheetApp.getActiveSpreadsheet();
ass.getRange('a1').offset(0, 0, ar.length, ar[0].length).setValues(ar);
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[1];
var DailyReach = sheet.getRange('Sheet1!A1').getValue();
var WeeklyReach = sheet.getRange('Sheet1!A2').getValue();
var MonthlyReach = sheet.getRange('Sheet1!A3').getValue();
sheet.appendRow([DailyReach,WeeklyReach,MonthlyReach]);
我正在将数据写入第二张表。如果有人有更好的东西!