好吧...不确定如何执行此操作。现在我有4个工作表和4个脚本,每个工作表产生4个json供稿。我试图尝试的是拥有一个脚本,该脚本将产生1个json,可以在网页中使用它,并仅调用类的类型即可。它们的格式都与列等相同。
这是我拥有的Google脚本应用代码。
function doGet(e){
// Change Spread Sheet url
var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/SpreadsheetID/edit#gid=0");
// Sheet Name, Change Sheet to whatever name you used to name your sheet
var sheet = ss.getSheetByName("Class Sheet 1");
return getClasses(sheet);
}
function getClasses(sheet){
var dataObj = {};
var dataArray = [];
// collecting data starting from 2nd Row , 1st column to last row and last column
var rows = sheet.getRange(2,1,sheet.getLastRow()-1, sheet.getLastColumn()).sort([{column: 1, ascending: true}, 1]).getValues();
for(var i = 0, l= rows.length; i<l ; i++){
var dataRow = rows[i];
var record = {};
record['Name'] = dataRow[0];
record['Note'] = dataRow[1];
record['Address'] = dataRow[2];
record['StreetAddress'] = dataRow[3];
record['City'] = dataRow[4];
record['State'] = dataRow[5];
record['ZipCode'] = dataRow[6];
record['ContactName'] = dataRow[7];
record['EMailAddress'] = dataRow[8];
record['CustomerServicePhone'] = dataRow[9];
dataArray.push(record);
}
dataObj = dataArray;
var result = JSON.stringify(dataObj);
return ContentService.createTextOutput(result).setMimeType(ContentService.MimeType.JSON);
}
对此我有些挠头。...我确定这很简单,我可能正在思考问题,但是任何帮助都将不胜感激。
答案 0 :(得分:1)
doGet(e)
中的$SIMULATOR_DEVICE_DIRECTORY/data/Library/TCC/TCC.db
对象提供了一种将参数发送到脚本的方法。您可以使用不同的url参数访问不同的工作表。然后,您可以通过e
轻松获得请求的SheetName。使用
e.parameter
https://script.google.com/.../exec?sheet=ClassSheet1 //for ClassSheet1
https://script.google.com/.../exec?sheet=ClassSheet2 //for ClassSheet2
您还可以在网络应用程序中提供UI以选择工作表。