I am trying to retrieve the data from my Google Spreadsheet, but when I try to add the data
object to my htmlTemplate
object, I receive the error
'Object does not allow properties to be added or changed'
My code is pretty simple:
function showDialog() {
var htmlTemplate = HtmlService.createHtmlOutputFromFile('index');
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getDataRange();
var values = range.getValues(); //get the spreadsheet data
htmlTemplate.data = values; // error here
...
}
Could anyone tell me what is wrong with this?
Instead of createHtmlOutputFromFile(filename) use createTemplateFromFile(filename)
The above because the first returns a HtmlOutput object which not allow to add properties while the second returns a HtmalTemplate which allows to add properties.
You can't add properties once you have already created the htmlOutput, rather you should populate properties in a template and then evaluate that template so that properties are consumed[if you're consuming] and then final htmlOutput is produced.
In terms of code something like this :