gas
文書の過去の版を表示しています。
Google App Script
スプレッドシート
スプレッドシートのIdを指定して開く
var spreadsheet = SpreadsheetApp.openById(<spread sheet ID>); var sheet = spreadsheet.getSheetByName("<sheet_name>");
指定したシートのデータを取得する。 流れは
- スプレッドシートのIDを指定して開く
- シート名を指定して開く
- データ領域の大きさを取得
- 領域のデータを取得
という流れになる。コードは以下の通り。
var spreadsheet = SpreadsheetApp.openById(<spread sheet ID>); var sheet = spreadsheet.getSheetByName("<sheet_name>"); var range = sheet.getDataRange(); // これで、データがある領域のrectangle を取得できる。 var values = range.getValues();
ループ処理
for of 文
配列の中身をすべて処理したい場合は for of
を使用する。
for(変数 of 配列){ //配列の要素数だけ繰り返し、毎回変数に配列値を格納 //for ofループで実行する処理を記述 }
シートの範囲を指定する
getRange(row, column, numRows, numColumns)
項目 | 説明 |
---|---|
row | 範囲の開始行のインデックスを指定。 |
column | 範囲の開始列のインデックスを指定。 |
numRows | 範囲に含まれる行の数を指定。 |
numColumns | 範囲に含まれる列の数を指定。 |
シートのA2からデータのある最後の行までのデータを取得する
var values = sheet.getRange(2,1,sheet.getLastRow()-1,1).getValues(); // A2から最後の行までのデータを読み込む。
プログラム例
<coee javascript> function exportToCSV() {
var spreadsheetId = "<spread sheet ID>"; // スプレッドシートのIDを指定 var spreadsheet = SpreadsheetApp.openById(spreadsheetId); // スプレッドシートIDを指定して開く。 var sheet = spreadsheet.getSheetByName("tb01"); // シートの名前を指定
var range = sheet.getDataRange(); 指定したシートのデータ領域を取得 var values = range.getValues(); その領域のデータを取得
values 各行列のデータをもとにCSVを作成 var csvContent = “”; for (var row = 0; row < values.length; row++) { var rowData = values[row]; for (var col = 0; col < rowData.length; col++) { var cellValue = rowData[col]; if (cellValue !== null && cellValue !== undefined) { セルの値が文字列になるようにエスケープ処理
cellValue = '"' + cellValue.toString().replace(/"/g, '""') + '"'; } else { cellValue = ""; } csvContent += cellValue; if (col < rowData.length - 1) { csvContent += ","; } } csvContent += "\n"; }
// CSVファイルをエクスポートする var fileName = "export.csv"; var mimeType = "text/csv"; var blob = Utilities.newBlob(csvContent, mimeType, fileName); // blob を作成 DriveApp.createFile(); // blobを指定してファイルをエクスポートする
} </code>
gas.1689836788.txt.gz · 最終更新: 2023/07/20 16:06 by mikoto