如何操作以前通过 Google 电子表格数据转换创建的 javascript

有一个谷歌电子表格。

http://img1.mukewang.com/63a3d7020001e47e01790105.jpg

通过Spreadsheet自身的(绑定的)脚本,其内容已经转换为javascript文件(conversion.js)。

操纵器.gs:


function conversion() {

  const data = 

    SpreadsheetApp

      .getActiveSheet()

      .getRange("Sheet1!A1:C2")

      .getValues();

  

  const file = 

    JSON

      .stringify(data)

      .replace(/(.*)/,"const conversion = $1;");

  

  DriveApp

    .getFolderById("1kpaeLkWoSjwYGZZz7yUIKxjCY6ihVXrz")

    .createFile("conversion.js", file, MimeType.PLAIN_TEXT);

};

生成的 conversion.js 内容为:


const conversion = [[11,12,13],[21,22,23]];

然后,我想永久地操纵这个 conversion.js 文件的内容。

例如:


conversion[1][1] = "test";

我不介意 conversion.js 文件必须位于何处才能进行操作:-


在 Google 云端硬盘中的当前位置或

在脚本编辑器中作为单独的文件 (conversion.gs) 位于 manipulator.gs 旁边

我只需要复制/粘贴操作文件的内容。


const conversion = [[11,12,13],[21,"test",23]];


呼如林
浏览 124回答 2
2回答

慕雪6442864

为了替换 2d数据数组的元素,您需要运行以下命令:data[1].splice(1,1, "test")在创建之前const file。尝试以下操作,您将获得所需的结果:function conversion() {  const data =     SpreadsheetApp      .getActiveSheet()      .getRange("Sheet1!A1:C2")      .getValues();    data[1].splice(1,1, "test")    const file =     JSON      .stringify(data)      .replace(/(.*)/,"const conversion = $1;");    DriveApp    .getFolderById("1kpaeLkWoSjwYGZZz7yUIKxjCY6ihVXrz")    .createFile("conversion.js", file, MimeType.PLAIN_TEXT);};结果:参考:arr.splice()

天涯尽头无女友

如果您想更新您在云端硬盘上创建的文件的内容,您有两种可能1.更复杂但更优雅使用UrlFetchApp向Drive API执行文件 PATCH 请求,如此处和此处完成2. 更容易阅读文件,例如在此处完成根据需要修改内容用具有更新内容的新文件覆盖现有文件
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript