0

Google スプレッドシートの内容を含む HTML ページを作成するテンプレート化された Google スクリプトを実行しています。

スプレッドシートhttps://docs.google.com/spreadsheet/ccc?key=0AtDy2rbIwVyldE82MG50SkR3UWYyam5YRVd1ajZlcnc&usp=drive_web#gid=0でスクリプトを実行すると、すべて正常に動作します。

スプレッドシートhttps://docs.google.com/spreadsheets/d/1A0Kd_BKeO9IB-SJvRMhC68q0XMQLrXarVVPlFJa_fMg/edit#gid=0でスクリプトを実行すると、最初にアクティブなスプレッドシートを選択する必要があるというメッセージが表示されます。

スクリプトは次のとおりです。

function doGet() {
  return HtmlService
      .createTemplateFromFile('index')
      .evaluate();
}

function getData() {
  var mysheet = SpreadsheetApp.openById('SPREADSHEET_KEY').getDataRange().getValues();
  return mysheet;
}

index.html ファイルは次のとおりです。

<? var data = getData(); ?>
<table>
  <? for (var i = 0; i < data.length; i++) { ?>
    <tr>
      <? for (var j = 0; j < data[i].length; j++) { ?>
        <td><?= data[i][j] ?></td>
      <? } ?>
    </tr>
  <? } ?>
</table>

問題は 2 番目のスプレッドシートにあるようです。

どんな助けも高く評価されます。

4

2 に答える 2

0

現在 mysheet に割り当てている参照は、ドキュメント全体を参照しています。データを含むシートへの参照を取得する必要があります。

function getData() {
  var spreadsheet = SpreadsheetApp.openById('SPREADSHEET_KEY').getDataRange().getValues();
  var mysheet = spreadsheet.getSheetByName('NameOfTheSheet');
  return mysheet;
}
于 2014-04-23T17:30:54.697 に答える