程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了将行另存为文本文件,从单元格中获取文件名大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决将行另存为文本文件,从单元格中获取文件名?

开发过程中遇到将行另存为文本文件,从单元格中获取文件名的问题如何解决?下面主要结合日常开发的经验,给出你关于将行另存为文本文件,从单元格中获取文件名的解决方法建议,希望对你解决将行另存为文本文件,从单元格中获取文件名有所启发或帮助;

这个谷歌脚本成功地为每一行创建了一个文本文件,但它以行号命名每个文件,例如“row0.txt”、“row1.txt”。我希望在其相关行中为 ColA 中的单元格命名每个文本文件。 row1.txt 将被保存为白丝带 - 1999.txt row2.txt 将保存为 Contagion - 2011.txt

我意识到技巧在最后两行,但我不知道如何获取正确的单元格内容(A1、A2、A3 等)作为每行的文件名。

这里是my spreadsheet

这是我正在使用的脚本(注意我保存的是 *md 而不是 *txt)

function saveRowsToTextfile() {
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getActiveSheet();
  var range = sheet.getRange("B2:W4");
  var rows = range.getValues();
  var folder = DriveApp.getFoldersByname("Test").next();
  var files = folder.getfiles();
  while(files.hasNext()) files.next().setTrashed(true);
  rows.forEach(function(row,indeX) {
    folder.createfile("row" + index + ".md",row.join("\n"));
  });
}

解决方法

在您的范围中包含列 A 并在加入数组之前使用 shift() 删除每个子数组的第一个元素,即标题。

您的代码应如下所示:

function saveRowsToTextfile() {
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getActiveSheet();
  var range = sheet.getRange("A2:W4");
  var rows = range.getValues();
  var folder = DriveApp.getFoldersByName("Test").next();
  var files = folder.getFiles();
  while(files.hasNext()) files.next().setTrashed(true);
  rows.forEach(function(row) {
    var title = row[0]; //set first element of array as title
    row.shift(); //remove first element of the array 
    var content = row.join("\n");
    folder.createFile(title + ".md",content);
  }); 
}

输出:

将行另存为文本文件,从单元格中获取文件名

  • Array.shift()

大佬总结

以上是大佬教程为你收集整理的将行另存为文本文件,从单元格中获取文件名全部内容,希望文章能够帮你解决将行另存为文本文件,从单元格中获取文件名所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。