簡體   English   中英

如何使用DriveApp而不是DocsList將csv文件導入Google表格

[英]How to import csv files to Google Sheets using DriveApp instead of DocsList

我有一個類似於https://stackoverflow.com/a/26139420/4817369的問題,除了使用FileID對我來說不切實際。

我一直在使用以下Google腳本: https//developers.google.com/apps-script/articles/docslist_tutorial將csv文件導入Google表格,以便可以使用其他Google腳本修改csv文件。 但是,DocsList功能已於昨天正式落日,我似乎無法使我的代碼與DriveApp一起使用。

function importFromCSV() {
  var fileName = Browser.inputBox("Enter the name of the file in your Docs    List to import (e.g. myFile.csv):");

var files = DocsList.getFiles();
var csvFile = "";

  for (var i = 0; i < files.length; i++) {
    if (files[i].getName() == fileName) {
      csvFile = files[i].getContentAsString();
      break;
     }
   }
  var csvData = CSVToArray(csvFile, ",");
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  for (var i = 0; i < csvData.length; i++) {
    sheet.getRange(i+1, 1, 1, csvData[i].length).setValues(new      Array(csvData[i]));
  }
}

搜索完文件后,我不知道該如何按名稱實際檢索它-我嘗試了各種不成功的版本,例如:

  var fileName = Browser.inputBox("Enter the name of the file in your Docs     List to import (e.g. myFile.csv):");
  var searchFiles = DriveApp.searchFiles(title = fileName);
  while (searchFiles.hasNext()) {
    var file = searchFiles.next();
    Logger.log(file.getName());
  }

  var csvFile = file.getBlob().getDataAsString();// get string content
  Logger.log(csvFile);// check in the logger
  var csvData = CSVToArray_(csvFile);// convert to 2D array
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  sheet.getRange(1,1, csvData.length,  csvData[0].length).setValues(csvData);// write to sheet in one single step
    }

我的編碼經驗很少,因此任何建議都將不勝感激!

您的搜索參數語法缺少引號。 應該是這樣的:

var searchFiles = DriveApp.searchFiles("title = '" + fileName + "'");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM