如何使用Google Apps脚本将电子表格标题和最后一行值导出到CSV文件

开尔文

我是新来的,请尝试寻求一些专业知识来帮助创建Google Apps脚本。

我有一个电子表格,想要将标题和新添加的行值导出到csv文件,并将其保存到本地c驱动器中,并以B列值作为主题发送警报电子邮件。

例如。电子表格有14列,我想从第2列开始将csv导出为以下值:“ column2值; column3值; column4值; column5值; column6值; ..... column14值”

以下是我的描述工作流程:

因此,每当人们填写Google表单中的值并按Submit时,我都会在Google工作表中收到一个新的行值。然后,我将标题和最新行值导出到csv文件到本地c驱动器中,并以B列值作为主题发送警报电子邮件。

如果有一些专业知识可以帮助我,我将不胜感激。非常感谢。:)

电子表格值需要以黄色突出显示

Excel sample.xlsx

纳布努布

看看这是否对您有帮助:

我们假设您的电子表格配置如下:

  • 您有一个名为“响应”的提交表。
  • 您需要一个名为Temp的脚本的帮助表,该脚本的第一行标题与“响应”表相同

在此处输入图片说明

在下面的示例中,您希望将标头(橙色)和最后提交的行(绿色)保存为CSV文件。

在此处输入图片说明

When you access the script you'll change the following:

  • The Spreadsheet ID of the whole document
  • The ID of the tab Temp (numbers found after edit#gid=)
  • The email address of the recipient

Code:

// 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");


  //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 timestamp = sheet.getRange("A"+(ss.getLastRow()));
  var Title = subject.getValues();
  var signature = timestamp.getValues();


  //Change Email Recipient underneath

  GmailApp.sendEmail('[email protected]',
                     'Job ID: '+Title, 
                     'Hi there,' + '\n\n' +  'A new entry has been submitted, please find the details in the attached CSV file.'  + '\n\n' +  'Submitted on: '+signature,
                     {
                         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');

}

STEP 1: Sending an email to the defined recipient in the script with the subject being the value of the last row in column B, and the signature the submission date & time, like this:

在此处输入图片说明

The CSV file will be attached to the email:

在此处输入图片说明

STEP 2: From the CSV File Menu which is created when opening the spreadsheet:

在此处输入图片说明

Save file to your Local desktop:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用谷歌应用程序脚本获取谷歌电子表格最后一行的值

来自分类Dev

仅在Google电子表格的最后一行查找和替换

来自分类Dev

使用Google Apps脚本将Google电子表格导出为JSON(或XML)格式

来自分类Dev

将Google搜索导出到电子表格

来自分类Dev

Google Apps脚本,使用格式将一个电子表格复制到另一电子表格

来自分类Dev

Google Apps脚本,使用格式将一个电子表格复制到另一电子表格

来自分类Dev

从电子表格中修改另一个电子表格:Google Apps脚本

来自分类Dev

从电子表格中修改另一个电子表格:Google Apps脚本

来自分类Dev

如何在Mac上从Excel 2016将电子表格导出到UTF-8 .csv?

来自分类Dev

在Google Apps脚本中创建电子表格备份时,如何复制格式和值,而不是公式?

来自分类Dev

使用 Google Apps 脚本确认电子表格列中的值

来自分类Dev

如何使用谷歌应用程序脚本划掉电子表格的一行(而不是删除它!)?

来自分类Dev

在Google时区(而不是电子表格时区)中使用Google Apps电子表格脚本的日期

来自分类Dev

Google App脚本从Google电子表格日期格式导出CSV

来自分类Dev

如何在另一个电子表格中使用Google Apps脚本?

来自分类Dev

如何使用Google Apps脚本替换电子表格中的文本?

来自分类Dev

如何在Google Apps脚本中使用本机电子表格功能?

来自分类Dev

如何使用Google Apps脚本向电子表格单元格添加链接

来自分类Dev

如何使用Google Apps脚本应用电子表格过滤器?

来自分类Dev

如何使用Google Apps脚本引用外部电子表格

来自分类Dev

如何使用Google Apps脚本向电子表格单元格添加链接

来自分类Dev

Google Apps脚本-将数据从电子表格追加到文档模板中的表格

来自分类Dev

如何使用OpenPyXL列出Excel电子表格中的所有第一行值?

来自分类Dev

如何使用Google脚本将电子表格复制到GDrive上的specifc文件夹中,而无需复制关联的表单和脚本

来自分类Dev

根据Google Apps脚本中的条件,计算一个值在电子表格列中出现的次数

来自分类Dev

将工作表复制到另一个电子表格[Google Apps脚本]

来自分类Dev

在Google Apps脚本和Google电子表格中格式化日期

来自分类Dev

如何使用宏填写电子表格中列表的下一行?

来自分类Dev

使用onEdit添加复选框,将新行添加到电子表格-Apps脚本

Related 相关文章

  1. 1

    如何使用谷歌应用程序脚本获取谷歌电子表格最后一行的值

  2. 2

    仅在Google电子表格的最后一行查找和替换

  3. 3

    使用Google Apps脚本将Google电子表格导出为JSON(或XML)格式

  4. 4

    将Google搜索导出到电子表格

  5. 5

    Google Apps脚本,使用格式将一个电子表格复制到另一电子表格

  6. 6

    Google Apps脚本,使用格式将一个电子表格复制到另一电子表格

  7. 7

    从电子表格中修改另一个电子表格:Google Apps脚本

  8. 8

    从电子表格中修改另一个电子表格:Google Apps脚本

  9. 9

    如何在Mac上从Excel 2016将电子表格导出到UTF-8 .csv?

  10. 10

    在Google Apps脚本中创建电子表格备份时,如何复制格式和值,而不是公式?

  11. 11

    使用 Google Apps 脚本确认电子表格列中的值

  12. 12

    如何使用谷歌应用程序脚本划掉电子表格的一行(而不是删除它!)?

  13. 13

    在Google时区(而不是电子表格时区)中使用Google Apps电子表格脚本的日期

  14. 14

    Google App脚本从Google电子表格日期格式导出CSV

  15. 15

    如何在另一个电子表格中使用Google Apps脚本?

  16. 16

    如何使用Google Apps脚本替换电子表格中的文本?

  17. 17

    如何在Google Apps脚本中使用本机电子表格功能?

  18. 18

    如何使用Google Apps脚本向电子表格单元格添加链接

  19. 19

    如何使用Google Apps脚本应用电子表格过滤器?

  20. 20

    如何使用Google Apps脚本引用外部电子表格

  21. 21

    如何使用Google Apps脚本向电子表格单元格添加链接

  22. 22

    Google Apps脚本-将数据从电子表格追加到文档模板中的表格

  23. 23

    如何使用OpenPyXL列出Excel电子表格中的所有第一行值?

  24. 24

    如何使用Google脚本将电子表格复制到GDrive上的specifc文件夹中,而无需复制关联的表单和脚本

  25. 25

    根据Google Apps脚本中的条件,计算一个值在电子表格列中出现的次数

  26. 26

    将工作表复制到另一个电子表格[Google Apps脚本]

  27. 27

    在Google Apps脚本和Google电子表格中格式化日期

  28. 28

    如何使用宏填写电子表格中列表的下一行?

  29. 29

    使用onEdit添加复选框,将新行添加到电子表格-Apps脚本

热门标签

归档