1

私は SO (SE メディアではありませんが) は初めてなので、(サイトの検索機能と Google を使用して) 回答を検索しましたが、以前に質問されて回答された可能性があります。もしそうなら、事前に重複としてフラグを立ててくれてありがとう(当然、オリジナルでいくつかの支援を見つけることができる場合).

私は、RSS フィードを集約およびフィルタリングする個人用のスクリプトを作成しようとしています。私は RSS コーナーを処理しました (主にこの Programmer's Library エントリのおかげです)。グーグルドライブ。そうすれば、フィルタリング条件を変更または追加する必要がある場合、スクリプトのコードに入る代わりに、ドライブ上のファイルを編集するだけで済みます。

そのため、クラス File、Spreadsheet、SpreadsheetApp、ScriptDb の API とこの開発者の記事を参照してきましたが、理解できません (そして、適切な場所)。私がしなければならないことは、最も基本的な用語で言えば、ドライブ上のスプレッドシート ファイルから (to) 配列 (私が関係しているのは Object[][] である可能性があります) をロード (およびおそらく保存) することです。次に、上記の配列のエントリで簡単にフィルタリングできます。私が興味を持っているもう 1 つのことは、アクティブなフィルターとして各用語がどれだけ使用されたかに関する統計を保持することです。これは、変更された配列をドライブに保存するのに役立つ場所です。

結論として、私はコラージュで Java をいくつか取りましたが、数学を専攻していたので、Java を十分に習得したことはありませんでした。私は、似たような例を使用して、自分が必要とすることを行うために調整を行うことに慣れていますが、おそらくそれ以上のものではありません (ただし、プロのプログラマーではない方法で物事が説明されている場合は、喜んで学びます)。理解する)。私はあなたが私に与えることができるどんな助けにも感謝します (私の答えを得るための正しい場所を私に紹介することは素晴らしいでしょう) が、物事が技術的になりすぎると私の頭が爆発する可能性があることに注意してください.

どうもありがとう。

4

1 に答える 1

1

ここにあなたの基準の例があります:

function getArrayFromSheet(sheetName) {
  var ss = SpreadsheetApp.openById('0AnqSFd3iikE3dF9hb3RUeHBqNUt2NGdkRlUycVZQN0E');// edit this id to suit your spreadsheet
  var sh = ss.getSheetByName(sheetName);
  var lastRow = sh.getLastRow();
  var lastCol = sh.getLastColumn();
  var data = sh.getRange(2,1,lastRow,lastCol).getValues();// starting from row nr 2 to skip headers if present (otherwhise start from 1)
  // data is an array of arrays [[row1],[row2],[row3],[...]] 0 indexed, each row inside the array is an array of the cell values
  return data
}

// usage :

function testFunction(){
  var firstRowOfData = getArrayFromSheet('filters')[0];
  Logger.log(firstRowOfData)
}

これが最初のtestSpreadsheetです(コードを実行するためにコピーを作成してください)

于 2013-10-08T22:32:57.713 に答える