[英]Variable Global Array with google sheets
我是 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));
}
謝謝
在正確的軌道上。 問題是根據這個:
屬性服務將所有數據存儲為鍵值對中的字符串。 不是字符串的數據類型會自動轉換為字符串,包括保存對象中包含的方法。
如果您嘗試直接保存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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.