getRange输出“ Range”而不是值

时间:2019-08-16 15:14:32

标签: google-apps-script google-sheets

因此,我正在编写一个代码,用于从EOD工作表中复制某些数据,并将数据复制/粘贴到另一个表中,作为摘要。

我已经使用了大多数代码,但是在getRange输出中遇到了麻烦。它只是在单元格中显示“ Range”(范围),而不是我的输入(应该全部是数字)。

function myFunction() {
  var source = [];
  var destSheet = SpreadsheetApp.getActive().getSheetByName('SnapshotSpreadsheet');
  var destRange = destSheet.getRange(destSheet.getLastRow()+1,2);
  source.push(sheet.getRange('B20'));
  source.push(sheet.getRange('E20:F20'));
  source.push(sheet.getRange('H20'));
  source.push(sheet.getRange ('J20:I20'));
  source.push(sheet.getRange ('M18'));
  source.push(sheet.getRange ('K20'));
  source.push(insertDate());
  destSheet.getRange(2,1,1,7).setValues([source]);

我只包括了导致问题的部分。我将source定义为一个数组,并将值存储到该数组中,然后只是要求将它们输出到下一个可用行。一切似乎都很好,只是值都是“ Range”。

2 个答案:

答案 0 :(得分:1)

您需要使用$(document).ready(function() { $('.wrapper').each(function() { var maxWidth = 100; // Max width for the image var maxHeight = 100; // Max height for the image var ratio = 0; // Used for aspect ratio var width = $(this).width(); // Current image width var height = $(this).height(); // Current image height // Check if the current width is larger than the max if(width > maxWidth) { ratio = maxWidth / width; // get ratio for scaling image $(this).css("width", maxWidth); // Set new width $(this).css("height", height * ratio); // Scale height based on ratio height = height * ratio; // Reset height to match scaled image width = width * ratio; // Reset width to match scaled image } // Check if current height is larger than max if(height > maxHeight) { ratio = maxHeight / height; // get ratio for scaling image $(this).css("height", maxHeight); // Set new height $(this).css("width", width * ratio); // Scale width based on ratio width = width * ratio; // Reset width to match scaled image height = height * ratio; // Reset height to match scaled image } }); }); (如果是单个单元格)或getValue()(如果是多个单元格)来获取这些范围的内容。

Cfr https://developers.google.com/apps-script/reference/spreadsheet/range#getValue()

答案 1 :(得分:1)

您需要执行.getValues()才能返回单元格的值

var values = sheet.getRange('E20:F20').getValues();

这将返回一个二维值数组,因此您必须在代码中解决该问题。例如,我刚刚编写的代码行将是一个类似

的数组

[[Value at E20, Value at F20]]

因此,要访问E20处的值,您可以致电values[0][0]或为F20处的值调用--values[0][1]