こういうスプレッドシートを
CSVファイルにしてGoogleドライブに保存する
(保存したファイルを開いた画面↓)
コード.gsの
SS_URL:保存したいシートがあるスプレッドシートのURL
FOLDER_ID:保存先のフォルダのID
FILE_NAME:保存したいファイル名
は任意で設定して下さい
コード.gsfunction save_to_drive_csv() {
var data = get_values();
create_file(data);
}
function get_values() {
var ss_url = "SS_URL";
var ss = SpreadsheetApp.openByUrl(ss_url);
var sheet = ss.getSheets()[0];
var last_row = sheet.getLastRow();
var values = sheet.getRange("A1:B" + last_row).getValues();
var data = "";
for(var i = 0; i < values.length; i++){
data += values[i] + "\r\n";
}
return data;
}
function create_file(data) {
var content_type = "text/csv";
var file_name = "FILE_NAME";
var blob = Utilities.newBlob("", content_type, file_name)
var file = blob.setDataFromString(data, "utf-8");
var drive = DriveApp.getFolderById("FOLDER_ID");
drive.createFile(file);
}
| 意訳この機能がやること get_values()を実行して 返ってきた値をcreate_fileに渡す この機能がやること スプレッドシートのURLを指定して 開いて 先頭のシートを取得して データが入っている最終行を取得して A1:Bの範囲のデータを取得して 行ごとのデータを入れる変数を用意して dataという入れ物を用意して 行ごとのデータを改行を付けてつなげる 行毎に改行が入ったdataを返す この機能がやること content_typeを設定する ファイル名を設定する Blob objectを作成して dataと文字コードを渡し 指定したフォルダに ファイルを作成する |
参考
Class Utilities

