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);
}