LoginSignup
0
0

More than 1 year has passed since last update.

backup

Posted at
index.html
<head>
<link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons.css">
<link rel="stylesheet" type="text/css" href="https://officeforest.org/wp/library/userlist/css/jquery.dataTables.css">
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" charset="utf8" src="https://officeforest.org/wp/library/userlist/jquery.js"></script>
<script type="text/javascript" charset="utf8" src="https://officeforest.org/wp/library/userlist/jquery.dataTables.js"></script>
<script type="text/javascript">
  $(document).ready(function() {
    $('#table_id').DataTable({
      "pageLength": 15
    });
  } );
</script>	
<script type="text/javascript">
  google.load("visualization", "1", {packages:["corechart"]});
  google.setOnLoadCallback(test);

  function test(){
    google.script.run.withSuccessHandler(onSuccess).retdata();
  }
  
  function onSuccess(data){
    //各種データの取得
    var sampleNode=document.getElementById("userlist");
    var json = JSON.parse(data);
    var html = "";
    
    //htmlにテーブルの初期タグ部分を格納する。
    html  = "<table id=" + "table_id" + " class='display' cellspacing='0' width='100%'>"
          + "<thead><tr>";

    for(var a = 0; a < json[0].length; a++){
      html += "<th>" + String(json[0][a]) + "</th>";
    }

    html += "</tr></thead>"			 
          + "<tbody>";
    
    if(json[1][0] == ""){
      html = '<p style="color:black; font-size:18pt;">' + "本日は作業がありません。</p>";
    }else{
      //受信データからHTMLを作成し格納する(最新記事を上にする)
      for(var i = 1; i < json.length; i++){
        //テーブルタグを生成して格納する
        html  += "<tr>"
              + "<td>" + String(json[i][0]) + "</td>"
              + "<td>" + String(json[i][1]) + "</td>"
              + "<td>" + String(json[i][2]) + "</td>"
              + "<td>" + String(json[i][3]) + "</td>"
              + "<td>" + String(json[i][4]) + "</td>"
              + "<td>" + String(json[i][5]) + "</td>"
              + "</tr>";      
      }
      //htmlにテーブルの終了タグを追加
	    html += "</tbody></table>";
    }
    
    //生成したHTMLを置き換え
    sampleNode.innerHTML = html;	

    $(document).ready(function() {
      $('#table_id').DataTable({
        "processing": true,
        "pageLength": 10,
        "order": [[ 0, "desc" ]],
        "language": {
          "searching" : false,
          "emptyTable" : "データが登録されていません。",
          "info" : "_TOTAL_ 件中 _START_ 件から _END_ 件までを表示",
          "infoEmpty" : "",
          "infoFiltered" : "(_MAX_ 件からの絞り込み表示)",
          "infoPostFix" : "",
          "thousands" : ",",
          "lengthMenu" : "1ページあたりの表示件数: _MENU_",
          "loadingRecords" : "ロード中",
          "processing" : "処理中...",
          "zeroRecords" : "該当するデータが見つかりませんでした。",
          "paginate" : {
            "first" : "先頭",
            "previous" : "前へ",
            "next" : "次へ",
            "last" : "末尾"
          }
        }
      });
    } );
    
  }
</script>
</head>
<div id="userlist" style="font-size: 14px;">
<center>
<img border="0" src="https://officeforest.org/wp/library/ProgressSpinner.gif">
<b><div style="color:black; font-family:Arial; font-size:14pt;">しばらくそのままお待ち下さい</div></b>
</center>
</div>
コード.gs
function onOpen(e) {
  var ui = SpreadsheetApp.getUi();
  ui.createMenu('▶リンク集作成')
      .addItem('セットアップ', 'setup')
      .addSeparator()
      .addItem('プレビュー', 'pon')
      .addToUi();
}

//セットアップ
function setup(){
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheetId = sheet.getId();
  var Properties = PropertiesService.getScriptProperties();
  var spfile = Properties.setProperty("sheetid",sheetId);
  
  SpreadsheetApp.getUi().alert("セットアップ完了");
}


//プレビュー表示用
function pon(){
  var html =  HtmlService.createHtmlOutputFromFile("linkman").setSandboxMode(HtmlService.SandboxMode.IFRAME).setHeight(530).setWidth(1000);
  SpreadsheetApp.getUi().showModalDialog(html, "リンク集");
}
web.gs
function doGet(){
  var html =  HtmlService.createHtmlOutputFromFile("linkman")
              .setSandboxMode(HtmlService.SandboxMode.IFRAME)
              .setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL)
              .setHeight(530)
              .setWidth(1000);
  return html;
}


//ウェブアプリケーションへデータをコールバック
function retdata(){
  var Properties = PropertiesService.getScriptProperties();
  var sheetid = Properties.getProperty("sheetid");
  
  //シートデータの取得
  var sheet = SpreadsheetApp.openById(sheetid);
  var ss = sheet.getSheetByName("data");
  var range = ss.getDataRange().getValues();
  return JSON.stringify(range);
}

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0