2017-06-26 5 views
0

毎週、電子メールにデータがある.xls/.csv添付ファイルがあります。その後、GoogleシートからConfluenceにデータをアップロードします。 .xls添付ファイルをGoogleシートに自動的に挿入するにはどうすればよいですか?私が使用できるスクリプトはありますか?添付ファイルは決して私と同じ名前を持っていません。電子メールの添付ファイルから週単位のExcelデータを自動的にGoogleシートにインポートするにはどうすればよいですか?

答えて

0

私は最近他の誰かのためにしたスクリプトです。私はそれがフォルダ内のファイルを取得し、それらをシートに追加し、古いファイルの名前をfilename.oldに変更して、次に関数が呼び出されたときに再度読み込まないようにすると思います。

function appendingCSV() { 
    var ss=SpreadsheetApp.getActiveSpreadsheet() 
    var sht=ss.getActiveSheet(); 
    var drng = sht.getDataRange(); 
    var lastRow = drng.getLastRow(); 
    //var data = loadFile(); 
    var data = loadFiles(); 
    var dataA =Utilities.parseCsv(data); 
    if(dataA.length>0) 
    { 
    var rng = sht.getRange(lastRow + 1, 1, dataA.length, dataA[0].length); 
    rng.setValues(dataA); 
    } 
    else 
    { 
    SpreadsheetApp.getUi().alert('No Data Returned from LoadFiles'); 
    } 
} 

function loadFiles(folderID) 
{ 
    var folderID = (typeof(folderID) !== 'undefined')? folderID : 'FolderID'; 
    var fldr = DriveApp.getFolderById(folderID); 
    var files = fldr.getFiles(); 
    var s=''; 
    var re = /^.*\.csv$/i; 
    while (files.hasNext()) 
    { 
    var file = files.next(); 
    var filename = file.getName(); 
    if(filename.match(re)) 
    { 
     s+=file.getBlob().getDataAsString().split('\n').splice(1).join('n') + '\n';//this was an attempt to strip off the headers. I don't know if it worked or not. 
     //s += file.getBlob().getDataAsString() + '\n'; 
     file.setName(filename.slice(0,-3) + 'old'); 
    } 
    } 
    return s; 
} 
関連する問題