Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/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
Java 如何从多张图纸中获取列值_Java_Api_Google Docs_Google Forms - Fatal编程技术网

Java 如何从多张图纸中获取列值

Java 如何从多张图纸中获取列值,java,api,google-docs,google-forms,Java,Api,Google Docs,Google Forms,我有一个从Google表单创建Google文档的工作脚本,但我想将其中一个值更改为sheet2。我正在使用sheet2=清洁柱,因为在sheet1的第3列中,我无法消除换行符。我复制了下面一个简单表单/文档的脚本以进行测试。我希望var title从第2页的第5列而不是第1页的第3列中提取值。或者,也许有更好的方法来解决从模板创建的文档中仍然存在换行符的格式问题 function autoFillGoogleDocFromForm(e) { var timestamp = e.val

我有一个从Google表单创建Google文档的工作脚本,但我想将其中一个值更改为sheet2。我正在使用sheet2=清洁柱,因为在sheet1的第3列中,我无法消除换行符。我复制了下面一个简单表单/文档的脚本以进行测试。我希望var title从第2页的第5列而不是第1页的第3列中提取值。或者,也许有更好的方法来解决从模板创建的文档中仍然存在换行符的格式问题

function autoFillGoogleDocFromForm(e) {
   
  var timestamp = e.values[0];
  var firstName = e.values[1];
  var lastName = e.values[2];
  var title = e.values[3];
          
  var templateFile = DriveApp.getFileById("17HH3zii-MfT3vl7-JU9Xx8XNgWpPAcNG5244iJHnzo0");
  var templateSubmittedFolder = DriveApp.getFolderById("1QNaCCyueyLvcuB7w8wkYvjt-OW75scPP");
  
  var copy = templateFile.makeCopy(lastName + ',' + firstName, templateSubmittedFolder);
  
  var doc = DocumentApp.openById(copy.getId());
  
  var body = doc.getBody();
  
  body.replaceText("{{FirstName}}", firstName);
  body.replaceText("{{LastName}}", lastName);
  body.replaceText("{{Title}}", title);
  
  var currentDate = new Date();   

  doc.saveAndClose();
  
}

根据您提供的内容,需要进行一个小的更改。而不是

var title = e.values[3];
只需添加一个替换就可以删除所有不可打印的文本,就像这样

var title = e.values[3].replace(/[^\x20-\x7E]/g, '');
下面是编辑的完整代码。祝你好运

    function autoFillGoogleDocFromForm(e) {
   
  var timestamp = e.values[0];
  var firstName = e.values[1];
  var lastName = e.values[2];
  var title = e.values[3].replace(/[^\x20-\x7E]/g, '');
          
  var templateFile = DriveApp.getFileById("17HH3zii-MfT3vl7-JU9Xx8XNgWpPAcNG5244iJHnzo0");
  var templateSubmittedFolder = DriveApp.getFolderById("1QNaCCyueyLvcuB7w8wkYvjt-OW75scPP");
  
  var copy = templateFile.makeCopy(lastName + ',' + firstName, templateSubmittedFolder);
  
  var doc = DocumentApp.openById(copy.getId());
  
  var body = doc.getBody();
  
  body.replaceText("{{FirstName}}", firstName);
  body.replaceText("{{LastName}}", lastName);
  body.replaceText("{{Title}}", title);
  
  var currentDate = new Date();   

  doc.saveAndClose();
  
}

您可以分享示例电子表格响应页面吗?我的猜测是,您可以处理脚本中需要的更改,而不是在电子表格中清理它,然后从那里收集。谢谢分享。介意将链接公开吗?我是在我的工作网络上创建的,因此我需要在我的个人帐户上重新创建此链接,或者如果成功的话授予权限?制作了一个带有公共链接的副本:我真是太感谢你了。我还将它添加到了我的实际表单到文档脚本以及这个简短的测试版本中,它可以正常工作。我在引号中添加了一个空格,因此换行符变成了一个空格,而不是没有空格。再次感谢!不客气!如果它回答了你的问题,那么继续并将其标记为答案。祝你有美好的一天!