fork download
  1. function writeRawResultsToImportSheet(queryData,writeSheet,columnNames) {
  2. var ss = SpreadsheetApp.getActiveSpreadsheet();
  3.  
  4. // Grab a handle to the existing spreadsheet holding the SalesForce import data
  5. var sheet = ss.getSheetByName(writeSheet)
  6. var contentRange = sheet.getRange(1,1,sheet.getMaxRows(),columnNames.length);
  7. contentRange.clearContent();
  8.  
  9. // Set the header titles for the columns
  10. var headersRange = sheet.getRange(1, 1, 1, columnNames.length);
  11. headersRange.setValues([columnNames]);
  12. headersRange.setFontWeight("bold");
  13.  
  14. // Calls the setRowsData function to actually populate the sheet
  15. setRowsData(sheet, queryData);
  16. }
  17.  
  18.  
  19. // setRowsData fills in one row of data per object defined in the objects Array.
  20. // For every Column, it checks if data objects define a value for it.
  21. // Arguments:
  22. // - sheet: the Sheet Object where the data will be written
  23. // - objects: an Array of Objects, each of which contains data for a row
  24. // - optHeadersRange: a Range of cells where the column headers are defined. This
  25. // defaults to the entire first row in sheet.
  26. // - optFirstDataRowIndex: index of the first row where data should be written. This
  27. // defaults to the row immediately below the headers.
  28. function setRowsData(sheet, objects, optHeadersRange, optFirstDataRowIndex) {
  29. var headersRange = optHeadersRange || sheet.getRange(1, 1, 1, objects[0].length);
  30. var firstDataRowIndex = optFirstDataRowIndex || headersRange.getRowIndex() + 1;
  31. var headers = headersRange.getValues()[0];
  32.  
  33. var destinationRange = sheet.getRange(firstDataRowIndex, headersRange.getColumnIndex(),
  34. objects.length, headers.length);
  35.  
  36. destinationRange.setValues(objects);
  37.  
  38. }
Success #stdin #stdout 0.03s 25780KB
stdin
Standard input is empty
stdout
function writeRawResultsToImportSheet(queryData,writeSheet,columnNames) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
    
  // Grab a handle to the existing spreadsheet holding the SalesForce import data
  var sheet = ss.getSheetByName(writeSheet)
  var contentRange = sheet.getRange(1,1,sheet.getMaxRows(),columnNames.length);
  contentRange.clearContent();
  
  // Set the header titles for the columns
  var headersRange = sheet.getRange(1, 1, 1, columnNames.length);
  headersRange.setValues([columnNames]);
  headersRange.setFontWeight("bold");
  
  // Calls the setRowsData function to actually populate the sheet
  setRowsData(sheet, queryData);
}


// setRowsData fills in one row of data per object defined in the objects Array.
// For every Column, it checks if data objects define a value for it.
// Arguments:
//   - sheet: the Sheet Object where the data will be written
//   - objects: an Array of Objects, each of which contains data for a row
//   - optHeadersRange: a Range of cells where the column headers are defined. This
//     defaults to the entire first row in sheet.
//   - optFirstDataRowIndex: index of the first row where data should be written. This
//     defaults to the row immediately below the headers.
function setRowsData(sheet, objects, optHeadersRange, optFirstDataRowIndex) {
  var headersRange = optHeadersRange || sheet.getRange(1, 1, 1, objects[0].length);
  var firstDataRowIndex = optFirstDataRowIndex || headersRange.getRowIndex() + 1;
  var headers = headersRange.getValues()[0];

  var destinationRange = sheet.getRange(firstDataRowIndex, headersRange.getColumnIndex(),
                                        objects.length, headers.length);
  
  destinationRange.setValues(objects);
 
}