如何使用 google 应用程序脚本在 google 驱动器中的特定文件夹中生成 google 电子表格?

how to generate json of google spreadsheet at specific folder in google drive using google app script?

我正在尝试在 google 驱动器的特定文件夹中创建 json 个 google 电子表格。

例如,我的 google 驱动器有一个名为 "temp" 的文件夹,它包含 google 电子表格,然后我是 运行 google 来自该电子表格的应用程序脚本代码.

这是代码

function exportSheetAsJSON() 
{
   var sheet = SpreadsheetApp.getActiveSheet();
   var rows = sheet.getDataRange();
   var numRows = rows.getNumRows();
   var numCols = rows.getNumColumns();
   var values = rows.getValues();
   var output = "";
   output += "{\""+sheet.getName()+"\" : {\n";
   var header = values[0];
   for (var i = 1; i < numRows; i++) 
   {
      if (i > 1) output += " , \n";
      var row = values[i];
      output += "\""+row[0]+"\" : {";
      for (var a = 1;a<numCols;a++)
      {
         if (a > 1) output += " , ";
         output += "\""+header[a]+"\" : \""+row[a]+"\"";
      }
      output += "}";
      //Logger.log(row);
}
output += "\n}}";
Logger.log(output); 
DriveApp.createFile(sheet.getName()+".json", output, MimeType.PLAIN_TEXT);
};

上面的代码完美运行,但它总是在 google 驱动器的根文件夹而不是临时文件夹中创建 json 文件。

任何人都可以解决上述问题吗?

试试这个:

  Logger.log(output); 

  var theFolder = DriveApp.getFoldersByName('temp');

  while (theFolder.hasNext()) {
   var folder = theFolder.next();
   Logger.log(folder.getName());
   folder.createFile(sheet.getName()+".json", output, MimeType.PLAIN_TEXT);
 }

};