gpt4 book ai didi

javascript - 带有谷歌表格的可变全局数组

转载 作者:行者123 更新时间:2023-12-04 22:18:20 25 4
gpt4 key购买 nike

我是 Google 表格/JavaScript 的新手。我必须将 VBA Excel 应用程序移植到谷歌表格。
Excel 应用程序包含许多使用选项卡上的值(> 2000 值)的公式。
在 Excel 中,它在开始时导入所有参数,然后使用全局变量提供给公式,以避免访问每个公式调用。
如何读取一个大数字数组并将其存储在 Google 表格中的一个全局变量中?
我在谷歌上搜索,似乎我必须使用 PropertiesService ,但它对我不起作用。
我的代码:

var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var SS = spreadsheet.getSheetByName('Calibrated_Values')
var values = SS.getRange("A:A").getValues();

var scriptProperties = PropertiesService.getScriptProperties();
scriptProperties.setProperty('setnumber', range)

var GetProp= scriptProperties.getProperty('setnumber');

for (var i=0;i<10;i++) {
Logger.log('%d', GetProp));
}
谢谢

最佳答案

在正确的轨道上。问题是根据 this :

The Properties service stores all data as strings in key-value pairs. Data types that are not already strings are automatically converted to strings, including methods contained within saved objects.


如果您尝试保存 getRange 的结果直接,你最终会存储像 [Ljava.lang.Object;@3cdd0c95 这样的东西.
这里的简单解决方案是我们可以使用 JSON.stringify保存数据:
function setNumber()
{
let spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
let SS = spreadsheet.getSheetByName('Calibrated_Values');
let values = SS.getRange("A:A").getValues();
let scriptProperties = PropertiesService.getScriptProperties();
scriptProperties.setProperty('setnumber', JSON.stringify(values));
}
要检索它,请使用 JSON.parse :
function getNumber()
{
let scriptProperties = PropertiesService.getScriptProperties();
let prop = JSON.parse(scriptProperties.getProperty('setnumber'));
// Prop is now an array:
console.log(prop);
}

关于javascript - 带有谷歌表格的可变全局数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66704790/

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