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

时间:2015-03-14 16:01:07

标签: json google-apps-script google-sheets

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

例如我的google驱动器的文件夹名为" temp"它包含谷歌电子表格,然后我从该电子表格运行谷歌应用程序脚本代码。

这是代码

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文件,而不是临时文件夹。

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

1 个答案:

答案 0 :(得分:1)

试试这个:

  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);
 }

};