2016-07-18 17 views
0

私はGoogleのスプレッドシートを公開しており、すべてをJS配列にしたいと思っています。私はそれを試して、それをJSONに変換して配列に変換しようとしていますが、私は運がありません。私のスプレッドシートから二次元JS配列に移動して関数を実行する方法はありますか?スプレッドシートは、このように見える場合googleスプレッドシートからJS配列へ

だから:

NAME COLOR SIZE 
MARK BLUE  6 
DAVE RED  8 

アレイは、二次元アレイような値であろう[0] [0] [1] [0] BLUEであると[し、MARKであろう0] [1]すべてのヘルプははるかにセルの値を読み出すための可能ガス中の2つの方法があり

答えて

0

理解されるであろう等

DAVEであろう。それらは.getValue().getValues()です。暗示されているように、.getValue()は、範囲内の左上のセルの値のみを取得します。 .getValues()は、範囲内のすべての値の2D配列を取得します。

以下のコードは、以下の範囲を読み取るために必要な変数を定義しています。範囲は、2行目(ヘッダー行は無視)から始まり、3列に続き、コンテンツの最後の行まで、(例に基づいて)定義されています。

.getLastRow()が見つかりましたが、次に読み取る行数をlastRow - 1と定義しています。これは、.getLastRow()がデータの最後の行の位置を示すためです。より単純には、データがいくつの行にあるかの整数です。データがある行が20行ある場合は、無視するヘッダー行が含まれています。範囲を1行下にシフトした後に20行を読むと、最初の空の行が含まれます。最後にデータが読み込まれた行を読み取った後、19行を読み込むのが停止します。

.getRange()は、入力が.getRange(startRow, startColumn, numRows, numColumns)であることに注意してください。これは、ガス参照シートの詳細と説明を見つけることができますが、JavaScriptが期待するように、この配列のhere

function myFunction() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getActiveSpreadsheet(); 
    var lastRow = sheet.getLastRow(); 
    var range = sheet.getRange(2, 1, (lastRow - 1), 3); 
    var dataArray = range.getValues(); 
} 

値は、その後など、読んで、定義され、呼び出すことができます。 GASリファレンスには、多くのメソッドが.getBackground().getBackgrounds()のような単数形と複数形を持っています。これらは.getValue().getValues()と同じ比較方法で動作します。

また.getValues()はあなたの行のための唯一の可能な値は0

あるとして、すべての値が [0]始まります2D配列を与える、あなたの範囲は単数行が、多くの列であっても、ことに注意することが役立つかもしれません
関連する問題