2017-05-29 48 views
0

每天,我会收到一个包含两个数据标签的电子表格。每个人约有9000行。我需要从这个工作表中捕获数据,并生成两个新的电子表格,其中一个用于“每日报告”(仅包含当天的数据),另一个用于创建“数据库”(包含所有数据以前的结果)。我如何使用GAS自动执行此操作?如何在一个电子表格中添加数据,并制作数据库和另一个更新/覆盖?

在这个项目上我已经可以提取,我接受并产生它的数据的电子表格的电子表格中的数据的工作,但我想自动化以下过程:

  1. 生成电子表格“每日“与当天的数据(最新更新)。在这种情况下,新数据必须订阅最后的数据。
  2. 生成包含所有数据的电子表格“数据库”,在这种情况下,新数据必须在最后一行增加,并将存储所有先前的数据。

在这个项目中工作,我创建了这段代码,但我不知道该怎么做,如果有人能帮助我,我真的很感激!

function getDay() { 
    var day = SpreadsheetApp.openById('xxxxxx'); 
    var tab1 = day.getSheets()[0]; 
    var tab2 = day.getSheets()[1]; 

    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sss = ss.getSheets()[0]; 

    var weeks = tab1.getRange("G8").getValues(); 
    var dates = tab1.getRange("G9").getValues(); 
    var regions = tab1.getRange('A10:A').getValues(); 
    var locnames = tab1.getRange('B10:B').getValues(); 
    var locnums = tab1.getRange('C10:C').getValues(); 
    var divisions = tab1.getRange('D10:D').getValues(); 
    var depnums = tab1.getRange('E10:E').getValues(); 
    var depnames = tab1.getRange('F10:F').getValues(); 
    var saless = tab1.getRange('G10:G').getValues(); 
    var qtys = tab2.getRange('G10:G').getValues(); 

    var datestart = sss.getRange('A2').setValues(dates); 
    var dateend = sss.getRange('B2').setValues(dates); 
    var week = sss.getRange('C2').setValues(weeks); 
    var regions = sss.getRange(2,4,regions.length,regions[0].length).setValues(regions); 
    var locname = sss.getRange(2,5,locnames.length,locnames[0].length).setValues(locnames); 
    var locnum = sss.getRange(2,6,locnums.length,locnums[0].length).setValues(locnums); 
    var division = sss.getRange(2,7,divisions.length,divisions[0].length).setValues(divisions); 
    var depnum = sss.getRange(2,8,depnums.length,depnums[0].length).setValues(depnums); 
    var depname = sss.getRange(2,9,depnames.length,depnames[0].length).setValues(depnames); 
    var sales = sss.getRange(2,10,saless.length,saless[0].length).setValues(saless); 
    var qty = sss.getRange(2,11,qtys.length,qtys[0].length).setValues(qtys); 

} 

我把电子表格中的链接来说明表的格式,我需要做什么。前两个标签与我获得的标签相同。并在接下来的两个选项卡(daily_report,数据库)是我想单独获取代码的工作表。 https://docs.google.com/spreadsheets/d/1_iz0oansAfINosV2qNoDG0QMNpGS1bp1AL5kJQztRtc/edit?usp=sharing

+0

标题不应该被强制标题。另一方面,您是否认为Google表格电子表格最多可以有200万个单元格? –

回答

0

首先在数组[]中将所有想要放入行的值相加。您可以使用sheet.appendRow(行)将此行添加到想要的工作表中。

对于日常需要,您可以添加一个触发器,每天使用小时钟图标运行您的程序。

相关问题