我是新来的,请尝试寻求一些专业知识来帮助创建google apps脚本。
我有一个电子表格,并希望将标题和新添加的行值导出到csv文件,并将其保存到本地c驱动器中,并以B列值作为主题发送警报电子邮件。
例如电子表格有14列,我想从第2列开始将csv导出为以下值:“ column2值; column3值; column4值; column5值; column6值; ..... column14值”
下面是我的描述工作流程:
因此,每当人们在Google表单中填写该值并按Submit时,我都会在Google工作表中收到一个新的行值。然后,我将标题和最新行值导出到csv文件到本地c驱动器中,并以B列值作为主题发送警报电子邮件。
非常感谢一些专业知识可以帮助我。非常感谢:)
我尝试一下,看看是否有帮助:
我们假设您的电子表格配置如下:
您有一个名为回复的提交表>
您有一个名为Temp
的脚本所需的帮助表,该脚本的第一行标题与“响应”表的标题相同在下面的示例中,您希望将标题(橙色)和最后提交的行(绿色)保存为CSV文件,>
访问脚本时,您将更改以下内容:
电子表格ID
收件人的电子邮件地址
代码:
// Example: https://docs.google.com/spreadsheets/d/1kXaTto1ktqX0XNKQ035897FGX5tV75o7wuYHiNCOqEFfI/edit#gid=1269457815 // In this link the ID of the Spreadsheet is everything after /d/ // which is: 1kXaTto1ktqX0XNKQ035897FGX5tV75o7wuYHiNCOqEFfI // THE ID of the sheet Temp would be something like: 1269457815 // ---------- Menu ---------- function onOpen() { var ui = SpreadsheetApp.getUi(); ui.createMenu('CSV File') .addItem('Step 1: Email CSV', 'EmailRange') .addItem('Step 2: Save CSV file', 'showurl') .addToUi(); } // Choose how do want to export the: csv,pdf,xlsx EXPORT_TYPE="csv"; function EmailRange() { // Enter Sheet ID in between "" var sheetId = "ID GOES HERE"; var ss = SpreadsheetApp.openById(sheetId); var sheet=ss.getSheetByName("Responses"); // You can set up the headers beforehand var temp = ss.getSheetByName("Temp"); // Get values of the last Row submitted var range=sheet.getRange("A"+(ss.getLastRow())+":N"+(ss.getLastRow())); //Copy range onto Temp sheet var rangeToCopy = sheet.getRange("A"+(ss.getLastRow())+":N"+(ss.getLastRow())); // It will erase any previous data rangeToCopy.copyTo(temp.getRange(2, 1)); // Temporarily hide the sheet ss.getSheetByName('Responses').hideSheet() //Authentification var params = {method:"GET",headers:{"authorization":"Bearer "+ ScriptApp.getOAuthToken()}}; var url="https://docs.google.com/spreadsheets/d/"+ss.getId()+"/export?format="+EXPORT_TYPE; //Fetch URL of active spreadsheet var fetch=UrlFetchApp.fetch(url,params); //Get content as blob var blob=fetch.getBlob(); var mimetype; if(EXPORT_TYPE=="pdf"){ mimetype="application/pdf"; }else if(EXPORT_TYPE=="csv"){ mimetype="text/csv"; }else if(EXPORT_TYPE=="xlsx"){ mimetype="application/xlsx"; }else{ return; } // OP: send an alert email with column B value as a subject var subject = sheet.getRange("B"+(ss.getLastRow())); var Title = subject.getValues(); //Change Email Recipient underneath GmailApp.sendEmail('[email protected]', 'Job ID: '+Title, 'Hi there, A new entry has been submitted, please find the details in the attached CSV file' , { attachments: [{ fileName: Title + "."+EXPORT_TYPE, content: blob.getBytes(), mimeType: mimetype }] }); //Reshow Response sheet ss.getSheetByName('Responses').showSheet() } function showurl() { // Enter Spreadsheet ID after d/ and the TAB ID of Temp after gid= var htmlOutput = HtmlService .createHtmlOutput('Click here <a href="https://docs.google.com/spreadsheets/d/ID GOES HERE/export?format=csv&gid=TAB ID GOES HERE">My File</a> to download') .setWidth(250) //optional .setHeight(50); //optional SpreadsheetApp.getUi().showModalDialog(htmlOutput, 'Download CSV File'); }
电子邮件将发送到脚本中的定义收件人,其中subject
是B列中最后一行的值,如下所示:
<< [CSV文件
将被附加(您也可以将其下载到桌面):从打开电子表格时创建的
CSV文件菜单
:保存文件
到本地桌面: