gpt4 book ai didi

javascript - Google Script - 从电子表格中列出的文件名导入文件数据

转载 作者:行者123 更新时间:2023-11-29 23:20:25 25 4
gpt4 key购买 nike

对此很陌生,但我过去的修修补补非常幸运。然而,我真的坚持这一点。

希望将文件数据导入特定工作表。使用特定的文件名,我已经成功地使用了这个脚本:

  function importVauto() {

var app = SpreadsheetApp;
var import1 = app.getActiveSpreadsheet().getSheetByName('Import1');

var file = DriveApp.getFilesByName("samplefilename").next();
var csvData = Utilities.parseCsv(file.getBlob().getDataAsString());
import1.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);

}

挑战在于,文件名每周都会更改。我的想法是在电子表格中列出所需的文件名,引用包含文件名的单元格,然后导入所需的文件。试过这个:

function importVauto() {

var app = SpreadsheetApp;
var import1 = app.getActiveSpreadsheet().getSheetByName('Import1');
var data = app.getActiveSpreadsheet().getSheetByName('Data');

var name = data.getRange("C24")
name.getValues()
Logger.log(name)

var file = DriveApp.getFilesByName(name).next();
var csvData = Utilities.parseCsv(file.getBlob().getDataAsString());
import1.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);

}

使用 var 'name' 作为 DriveApp.getFilesByName() 的文件名似乎有问题,但很有可能,我遗漏了很多东西(不知道你不知道什么)。

希望这个问题是有道理的(更希望有一个简单的解决方案)。同样,对此非常陌生。感谢任何反馈。

最佳答案

这个修改怎么样?

修改点:

  • getValues() 返回二维数组。如果要检索一个单元格“C24”的值,可以使用getValue()。在这种情况下,您可以直接检索单元格的字符串值。

修改后的脚本:

从 :
name.getValues();
到 :
name = name.getValue();

name = name.getValues()[0][0];

注意事项:

  • 当您使用 DriveApp.getFilesByName(name).next() 检索 file 时;如果有多个具有相同文件名的文件,则只能检索其中一个。请注意这一点。

引用:

如果这不是您想要的,请告诉我。我想修改我的答案。

关于javascript - Google Script - 从电子表格中列出的文件名导入文件数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50891893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com