0
Googleドライブに別のサービスからデータを取得します。形式はCSVで、Googleドライブの.csvに保存されます。各ファイルのサイズは約5MB、> 17K行です。私は、インポートスクリプトを使用しようとしましたが、それは動作しませんでした、それは小さなファイルで動作しましたが、私は古いデータを気にせずに私のスプレッドシートにCSV全体をコピーしたいです。GoogleドライブにあるCSVファイルのデータの読み込みをスプレッドシートにコピー&置換
function import() {
var fSource = DriveApp.getFolderById("****"); // reports_folder_id = id of folder where csv reports are saved
var fi = fSource.getFilesByName('report.csv'); // latest report file
var ss = SpreadsheetApp.openById("***"); // data_sheet_id = id of spreadsheet that holds the data to be updated with new report data
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1")
if (fi.hasNext()) { // proceed if "report.csv" file exists in the reports folder
var file = fi.next();
var csv = file.getBlob().getDataAsString();
var csvData = CSVToArray(csv); // see below for CSVToArray function
for (var i=0, lenCsv=csvData.length; i<lenCsv; i++) {
sheet.getRange(i+1, 1, 1, csvData[i].length).setValues(new Array(csvData[i]));
}
/*
** report data is now in 'NEWDATA' sheet in the spreadsheet - process it as needed,
** then delete 'NEWDATA' sheet using ss.deleteSheet(newsheet)
*/
// rename the report.csv file so it is not processed on next scheduled run
// file.setName("report-"+(new Date().toString())+".csv");
}
};
ラインは、それがで失敗しないこれは、それについてどのように動作しないのですか? CSVToArrayはどこですか? –
CSVToArrayは私が含まなかった関数です。それは単にgoogleからのコピーです。 –