google-apps-script - 在文本跳转前放一个 =
问题描述
您好,我制作了这个脚本来将列中的数据导出到我的谷歌驱动器上的 .txt
function maquinasBonusHunt() {
var ss = SpreadsheetApp.getActive();
var sheet = ss.getActiveSheet();
var range = sheet.getRange('G3:G' + sheet.getLastRow());
var rows = range.getValues().filter(([g]) => g.toString() != "");
var fileName="maquinas.txt";
var folderName="Videos";
var data = rows.splice(0);
var str = data.map(function(e) {return e.join()}).join("\n");
var separador = [" - ", " = "];
var content = str;
// get list of folders with matching name
var folderList = DriveApp.getFoldersByName(folderName);
if (folderList.hasNext()) {
// found matching folder
var folder = folderList.next();
// search for files with matching name
var fileList = folder.getFilesByName(fileName);
if (fileList.hasNext()) {
// found matching file - append text
var file = fileList.next();
var combinedContent = content;
file.setContent(combinedContent);
}
else {
// file not found - create new
folder.createFile(fileName, content);
}
}
}
一切都很好,但是,我需要在他们跳转到其他文本之前添加一个“=”,例如 y 在屏幕截图上显示的内容。 https://i.stack.imgur.com/xvXDA.png
解决方案
我相信你的目标如下。
- 您要添加
=
到每行的最后一个字符。
为了实现您的目标,我想提出以下修改。
模式一:
在此模式中,在运行=
时添加join
。
从:
var str = data.map(function(e) {return e.join()}).join("\n");
到:
var str = data.map(function(e) {return e.join()}).join("=\n") + "=";
模式二:
在此模式中,在使用=
后添加filter
。
从:
var rows = range.getValues().filter(([g]) => g.toString() != "");
到:
var rows = range.getValues().filter(([g]) => g.toString() != "").map(([v]) => [v + "="]);
参考:
推荐阅读
- python - 使用 `sys` 如何从文件路径导入文件?
- javascript - 从 JavaScript 事件中提取数据
- c++ - C++ 重新启动应用程序或重新运行“winapi main”
- excel - 使用 .Refresh BackGroudQuery:=False 内存不足
- java - 卡夫卡听众不听卡夫卡
- c# - WPF 材料设计文本框通过幻灯片显示。有解决方法吗?
- windows-runtime - Inference of onnx model (opset11) in Windows 10 c++?
- javascript - packages not loaded when migrating to webpacker
- r - 如何在R中组合两个函数?
- kubernetes - Kubernetes-pod 有哪些不同的日志级别?它的作用是什么?