将文件上传到Google云端硬盘并在电子表格中记录表单答案

时间:2015-10-26 10:18:45

标签: google-apps-script google-sheets

我尝试将表单数据上传到电子表格中,同时将文件上传到我的google驱动器中。文件上传正在运行。但由于我根本不是程序员,因此我很难将信息放入电子表格中。我只是不知道电子表格是否存在以及如何访问它。有人可以帮忙吗? 我当前的代码如下,但给出了错误消息。

我不确定submitSSkey应该是什么,它是电子表格的名称吗?我很抱歉不知道这么琐碎的事情。但我真的被困在这里了。我应该用电子表格做任何其他事情吗?例如,填写第一行?

// start form
var submissionSSKey = "Uploading";

function doGet(e) {
return HtmlService.createHtmlOutputFromFile('form.html');
}
var url;


function processForm(form) {
try {

  // Record submission in spreadsheet
var sheet = SpreadsheetApp.openById(submissionSSKey).getSheets()[0];
var lastRow = sheet.getLastRow();
var targetRange = sheet.getRange(lastRow+1, 1, 1, 4).setValues([[LastName,FirstName,EmailAddress,AbstractTitlel]]);
var dropbox = "Abstracts XXI";
var folder, folders = DriveApp.getFoldersByName(dropbox);

if (folders.hasNext()) {
  folder = folders.next();
} else {
  folder = DriveApp.createFolder(dropbox);
}

var blob = form.myFile;    
var file = folder.createFile(blob);    
file.setName( form.select + "_"  + form.LastName + new Date );
file.setDescription( form.AbstractTitle);
url=file.getUrl();    
return "\<br/> File uploaded successfully. \<br/> \<br/> Thank you for the submission of your abstract for SBDD XXI 2016. \<br/> \<br/> To view the uploaded abstracht please copy the URL below into your browser \<br/>" +  file.getUrl();

} catch (error) {

return error.toString();
}}

1 个答案:

答案 0 :(得分:0)

您可以在return语句之前添加这段代码。将ID和SHEET NAME替换为实际值。此外,您可能必须重新发布网络应用程序。

var ss = SpreadsheetApp.openById("SPREASHEET_ID");
var sheet = ss.getSheetByName("SHEET_NAME");
sheet.appendRow([form.select, form,LastName, url]);