CSVデータをGoogleスプレッドシートへ自動取込してホームページ更新する方法

 1.処理の流れ 

1.CSV形式データを定期的にGoogleDriveへセット。

2.CSV形式のデータを「Google Apps Script」の
トリガー機能を使用して、Googleスプレッドシートへ取り込む。

※CSVデータをGoogle Driveに設置しておけば、
トリガーが数分おきにスクリプトを実行して、
CSVデータをGoogleスプレッドシートに取り込み、
自動的に公開されるという流れです。

CSVを自動的に作成できれば、
完全に自動化できます。

当ブログの場合は、
ローカルPCにてCSVデータの
自動作成を行っております。
上記の流れで定期的に自動公開する
ことで運用を行えております。


2.必要なもの 

1.Googleスプレッドシート
2.Google Drive(Windows版)
3.Google Apps Script
4.CSVテキスト

※Googleのアカウントを持っていれば
ほぼ、準備完了となります。




 3.ホームページへの公開準備 

1.公開予定のGoogleスプレッドシートを準備しておきます。
※色付けして、見栄え良く作成しておきます。

2.スプレッドシートの公開設定を行います。

Googleスプレッドシートから、
「ファイル」から「ウェブ公開」をクリック


①公開するシートを指定
②公開ボタンをクリック

①埋め込みを選択
②HTMLコードをブログにコピペして埋め込み表示します。

HTMLは以下のようなものです。

<iframe  frameborder="0" height="200" width="450" src="https://docs.google.com/spreadsheets/d/xxx/pubhtml?
gid=0&amp;single=true&amp;
widget=false&amp;range=A1:H10&
headers=false&chrome=false"></iframe>

frameborder=0 : フレームの境界線を非表示
height="200" : フレーム表示の高さ
 width="450" : フレーム表示の横幅
gid=0 : シート識別番号
range=A1:H10 : 公開セル範囲
chrome=false : ヘッダーとフッターを非表示

ここまでで、スプレッドシートの内容が
HPへ公開できるようになりました。



 4. Google Drive(Windows版)をインストールします。

以下のURLからダウンロードできます。
https://www.google.com/intl/ja_ALL/drive/download/

①「Windows版をダウンロード」をクリック
②ダウンロードファイル「googledrivesync.exe」
をクリックして指示に従いインストールを行います。

以下にフォルダができます。

C:\Users\「Windowsユーザー名」\Google ドライブ
※「Windowsユーザー名」は皆さんのPCのユーザー名

不明な方は、
Windwsスタートメニューから
GoogleDriveを指定すると
上記フォルダが開きます。



4. Google App Scriptの作成。

上記GoogleDrive(ファイルパス)へ
「CSVファイル」を設置することで、Google App Script
にてGoogleスプレッドシートに取り込みを行います。

まずCSVを用意しましょう。
今回は、以下のようなCSVデータを用意しております。


次に、以下のGoogleスプレッドシートへ取り込みを行います。



Googleスプレッドシートのメニューから、
「スクリプトエディタ」
を開きます。


既存の 「myFunction」は消去します。

function myFunction() {
}

以下のスクリプトを貼り付けます。

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();

function import() {
  //CSVファイルが置かれているGoogleDriveのフォルダー名を指定
  var folderName = "フォルダ名";
  //GoogleDriveに配置したCSVファイル名を指定
  var fileName = "aaa.csv";
  var folders = DriveApp.getFoldersByName(folderName);
  //指定フォルダを検索
  while (folders.hasNext()) {
    var folder = folders.next();
     if (folder.getName() == folderName) {
      var files = DriveApp.getFilesByName(fileName);
      //指定したCSVファイルを検索
      while (files.hasNext()) {
        var file = files.next();
        if (file.getName() == fileName) {
          var data = file.getBlob().getDataAsString("Shift_JIS"); 
          var csv = Utilities.parseCsv(data);
          //既に入っているデータを消去
          sh.getRange('A2:H20').clearContent(); 
          //スプレッドシートの指定範囲へCSVデータの貼り付け
          //書式はそのままで値のみ貼り付けします。
          sh.getRange(1,1,csv.length,csv[0].length).setValues(csv); 
          return;
        }
      }
    }
  }
}

後は、上記スクリプトをトリガーに登録して、
定期実行を行うようにしておきます。

下の「タイマー」のようなボタンをクリックします。



トリガーの設定を行います。
以下の設定は、「import」スクリプトを
30分ごとに実行する為の設定です。


以上で設定完了です。

定期的に新しいCSVファイルを
GoogleDriveに準備しておけば、
CSVはGoogleスプレッドシートへ
自動的に取り込みされて、
ホームページへ公開されます。










0 件のコメント:

コメントを投稿

注目の投稿

人気の投稿