GDD2011 "Google Apps Script"

こんな風に書いた。1時間くらいかな。
敗因は、SpreadsheetApp.create()しなかったこと。
Excel的にスクリプトは、シートに付属するものと思ってた(^^;。
なので、テスト用のループリミッタを付けたり、手でシート消したり(^^;。
スクリプトで消しちゃうと結果の確認できないんだもん。
Browser.msgBox()で消す前に止めればよかったのかな?
あと、最初の「シート1」を削除するのに手間取ったり。
setNumberFormat()の使い方がよくわからずに、これに一番時間がかかったかも...

function myFunction() {
  
  var url = 'http://gdd-2011-quiz-japan.appspot.com/apps_script/data?param=5006468581119978011';
  var fetch = UrlFetchApp.fetch( url );
  //if(response.getResponseCode() != 200) {
  //  throw "error: response code=" + response.getResponseCode();
  //}
  var json = Utilities.jsonParse( fetch.getContentText() );

  // data structure: 
  //     [{"city_name": "Iadnes", "data": [{"usage": 1050, "capacity": 1616}, ... ]}]
  // city_name -- Iadnes Ufig Ikasagan Amihsogak Amayot Akoirom Otomamuk Amayako Ihsabeam 
  //                      Otim Iukuf Otoyk Onagan Ihcok Ikazayim Ufok Ahan Iromoa Akaso Atika 
  // data
  //    usage
  //    capacity
 
// 現在表示中のシートを取得
 ss = SpreadsheetApp.getActiveSpreadsheet();
  
 for (var i in json){
   // テスト用のリミッタ
   //if ( i == 2){
   //  break;
   //}  
   
   //Browser.msgBox(json[i].city_name); // city_nameはとれた
   //Browser.msgBox(json[i].data); // dataはとれた
   
   // 都市名
   city_name = json[i].city_name;
   // data数
   data_length = json[i].data.length; 
   // 40あるようだ。 
   // Browser.msgBox(city_name + ": " + data_length);

    //insertSheet 都市名のシートを作る
    //挿入するだけだと都市名が登場順に並ばない でも並べるという条件はない
    ss.insertSheet(city_name, 1);
    
   // 作ったシートにデータを書き込む
   // A1からはじめて、Aにはcapacity、Bにはusage、Cには小数点以下二桁の%
   
    datalist = json[i].data;
   
    var x = 1;
    for (var j in datalist){

      // 現在のシートを名前で指定しようと思ったけど失敗
      //var city_sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(city_name);
      //SpreadsheetApp.getActiveSpreadsheet().moveActiveSheet(city_sheet);
      // 今のシートにとりあえず
      var sheet = ss.getActiveSheet();
      var cell= sheet.getRange(x, 1);
      cell.setValue(datalist[j].capacity);
      var cell= sheet.getRange(x, 2);
      cell.setValue(datalist[j].usage);
      var cell= sheet.getRange(x, 3);
      persent = Math.round(datalist[j].usage / datalist[j].capacity * 10000) / 100;
      // %がついてないと怒られた... orz
	  cell.setNumberFormat('#.##%'); 
      cell.setValue(persent);
      x++;
    }
  }
  // 最初のシートを削除
  var sheet = ss.getSheets()[0];  
  ss.setActiveSheet(sheet);
  ss.deleteActiveSheet();  
}