Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 从Gmail导入XLS-基于昨天日期的工作表_Google Apps Script_Google Sheets_Google Drive Api - Fatal编程技术网

Google apps script 从Gmail导入XLS-基于昨天日期的工作表

Google apps script 从Gmail导入XLS-基于昨天日期的工作表,google-apps-script,google-sheets,google-drive-api,Google Apps Script,Google Sheets,Google Drive Api,我有以下脚本从我的电子邮件中导入XLS附件 目前,它将其导入到指定的图纸名称中(在下面的示例“xxxx”中) 相反,我希望它基于脚本运行的前一天(因为它以DD/MM/YY格式报告前一天的数据)导入到工作表名称中 说明: 您想: 获取从昨天开始的日期: const date = new Date(); date.setDate(date.getDate() - 1); 将其格式化为DD/MM/YY,并将其分配给sheetName: const sheetName = Utilities.f

我有以下脚本从我的电子邮件中导入XLS附件

目前,它将其导入到指定的图纸名称中(在下面的示例“xxxx”中)

相反,我希望它基于脚本运行的前一天(因为它以DD/MM/YY格式报告前一天的数据)导入到工作表名称中

说明: 您想:

  • 获取从昨天开始的日期:

    const date = new Date();
    date.setDate(date.getDate() - 1);
    
  • 将其格式化为
    DD/MM/YY
    ,并将其分配给
    sheetName

    const sheetName =  Utilities.formatDate(date, timezone, "dd/MM/YY")
    
  • 检查是否存在具有此名称的工作表,否则创建它:

    const sheets = ss.getSheets().map(sh=>sh.getName());
    if(!sheets.includes(sheetName)){
       ss.insertSheet(sheetName);
    };
    
解决方案: 参考文献:

const sheets = ss.getSheets().map(sh=>sh.getName());
if(!sheets.includes(sheetName)){
   ss.insertSheet(sheetName);
};
function ImportXLSFromGmail_Stats() {
  const ss = SpreadsheetApp.getActive();
  const date = new Date();
  const timezone = ss.getSpreadsheetTimeZone();
  date.setDate(date.getDate() - 1);
  const sheetName =  Utilities.formatDate(date, timezone, "dd/MM/YY"); // logs 04/02/21  
  const sheets = ss.getSheets().map(sh=>sh.getName());
  if(!sheets.includes(sheetName)){
     ss.insertSheet(sheetName);
  };
  
  //
  // rest of your code
  //
  
}