我需要从此Google工作表中发布个人的考试成绩。 Spreadsheet。我找到了一个代码,如果我使用“?id = 1” like运行应用程序URL时可以执行此操作,但它仅显示名称。我还需要显示标记(C至G列)。我使用的代码是
var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1L1Qu6QCaDucr4Jy5eOAnQkX-wpYjz6eevqAMzBc72iQ/edit#gid=0");
var sheet = ss.getSheetByName("Sheet1");
function doGet(e){
return search(e) ;
}
function doPost(e){
return search(e) ;
}
function search(e){
var id = e.parameter.id;
var values = sheet.getRange(2, 1, sheet.getLastRow(),sheet.getLastColumn()).getValues();
for(var i = 0;i<values.length; i++){
if(values[i][0] == id ){
i=i+2;
var name = sheet.getRange(i,3).getValue();
return ContentService.createTextOutput(name).setMimeType(ContentService.MimeType.TEXT);
}
}
return ContentService.createTextOutput("Id not found").setMimeType(ContentService.MimeType.TEXT);
}
如何显示整行而不是单个单元格?
答案 0 :(得分:1)
这对我来说就像是魅力
/**
*
* @param {*} e
*/
function search(e) {
var id = e.parameter.id;
var values = sheet
.getDataRange()
.getValues()
.filter(function(row) {
return row[0] == id;
});
var content = JSON.stringify(values);
return ContentService.createTextOutput(content).setMimeType(
ContentService.MimeType.TEXT
);
}
我可以根据需要扩展工作表,而无需同时收费
如果您希望返回"Id not found"
,请尝试
var content = values.length ? JSON.stringify(values) : "Id not found";
相反。