Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 如何使用Google App maker从Gdocs创建.txt?_Google Apps Script_Google App Maker - Fatal编程技术网

Google apps script 如何使用Google App maker从Gdocs创建.txt?

Google apps script 如何使用Google App maker从Gdocs创建.txt?,google-apps-script,google-app-maker,Google Apps Script,Google App Maker,我正在尝试使用Appmaker从Gdocs创建一个.txt文件。唯一的问题是getAs('application/csv')或getAs(MimeType.csv)在Appmaker中不受支持 有人知道如何做得不同吗 var blob=Doc.getAs(MimeType.CSV); 制作一个文本文件 脚本: function makeATextFile() { var ss=SpreadsheetApp.getActive(); var sh=ss.getActiveSheet();

我正在尝试使用Appmaker从Gdocs创建一个
.txt
文件。唯一的问题是
getAs('application/csv')
getAs(MimeType.csv)
在Appmaker中不受支持

有人知道如何做得不同吗

var blob=Doc.getAs(MimeType.CSV);

制作一个文本文件

脚本:

function makeATextFile() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var rg=sh.getDataRange();
  var vA=rg.getValues();
  var s='';
  vA.forEach(function(r,i){
    r.forEach(function(c,j){
      if(j>0)s+=',';
      s+=Utilities.formatString('%s',vA[i][j] );
    })
    s+='\n';
  })
  var folderId=DriveApp.getFileById(ss.getId()).getParents().next().getId();
  var ts=Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "MMddyyyyHHmm")
  DriveApp.getFolderById(folderId).createFile(ts+'.txt', s);
}
数据表:

function makeATextFile() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var rg=sh.getDataRange();
  var vA=rg.getValues();
  var s='';
  vA.forEach(function(r,i){
    r.forEach(function(c,j){
      if(j>0)s+=',';
      s+=Utilities.formatString('%s',vA[i][j] );
    })
    s+='\n';
  })
  var folderId=DriveApp.getFileById(ss.getId()).getParents().next().getId();
  var ts=Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "MMddyyyyHHmm")
  DriveApp.getFolderById(folderId).createFile(ts+'.txt', s);
}

文本文件

谷歌应用程序脚本在AppMaker中运行


显然,getas()函数不受支持,但这对App Maker来说不是一个特定的问题,而是与用于在AM中运行服务器脚本的Google Apps脚本有关

以下是建议的解决方法,可能不适合您的确切需求,但一些测试产生了有希望的结果:

var doc = DocumentApp.openById(id);
var name = doc.getName();
var text = doc.getBody().getText();

DriveApp.createFile(name, text, MimeType.CSV);

请提供有关您在何处使用此脚本、服务器或客户端的详细信息?还有,这是谷歌文档还是谷歌表单?也可能有助于发布不止一行代码,因为您的问题可能在其他地方。感谢您的评论,First,它是一个Gdocs,其次,它与客户端或服务器端脚本无关,问题很明显,我正在寻找一个与getAs等价的(MimeType.CSV)因为AppMaker不支持它。所以我之所以要求澄清它是文档还是工作表,是因为您希望它的csv版本更常用于工作表,而txt版本更常用于文档。另外,关于客户机/服务器问题,我见过很多人尝试在客户机端使用为服务器端保留的脚本,所以我只想确保您的脚本位于正确的类别中。就get As功能而言,您是正确的,它似乎不受支持,但它是Google Apps脚本,而不是App Maker。建议的解决办法如下。