解決したいこと
スプレッドシートの1セルで「改行を含む文字列」を取得し、1セルに収めてファイル出力させたいです。
入出力の期待値
- 入力
- 期待する出力
- 実際の出力
コード
function test2(){ var sheetName = 'sheet1'; //CSVファイルにするシート名を指定 var allvalues=[]; //sheetNameの2次元配列をallvalueに結合 var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName(sheetName); //データ範囲を二次元配列で取得 //var values = sheet.getDataRange().getValues(); var values = sheet.getRange(1,1,4,4).getValues(); Array.prototype.push.apply(allvalues,values); //二次元配列をカンマ区切りの文字列に変換 var csv = allvalues.join('\n'); //Blobオブジェクトの作成 var blob = Utilities.newBlob(csv, MimeType.CSV, sheetName + '.csv'); //CSVファイルの保存先フォルダを指定 var id = '***********************'; //フォルダID var folder = DriveApp.getFolderById(id); //CSVファイルを作成 folder.createFile(blob); }
入力データ
a1 b1 c1 d1
a2 b2 c2 d2
a3 b3 c3\nc3\nc3 d3
a4 b4 c4 d4
a5 b5 c5 d5
実際のコード
function createCSV() { var sheetName = '03/01'; //CSVファイルにするシート名を指定 sheetName=sheetName.split("/"); var startmonth=sheetName[0]; var startday=sheetName[1]; var allvalues=[]; console.log(Object.prototype.toString.call(sheetName)); for(let i=0;i<3;i++){ //sheetNameのインクリメント //sheetName=sheetName.split("/"); //sheetName[1]=Number(sheetName[1])+1; var day=Number(startday)+Number(i); if(day<10){ day=parseInt(day); var zero='0'; day=zero+day; }else{ day=parseInt(day); } //sheetName=sheetName.join("/"); sheetName=startmonth+"/"+day; console.log(sheetName); console.log(Object.prototype.toString.call(sheetName)); //sheetNameの2次元配列をallvalueに結合 var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName(sheetName); //データ範囲を二次元配列で取得 //var values = sheet.getDataRange().getValues(); var values = sheet.getRange(15,1,48,14).getValues(); //Sheetオブジェクト.getRange(行番号, 列番号, 行数, 列数) Array.prototype.push.apply(allvalues,values); } //二次元配列をカンマ区切りの文字列に変換 var csv = allvalues.join('\n'); //var csv=allvalues; //Blobオブジェクトの作成 var blob = Utilities.newBlob(csv, MimeType.CSV, sheetName + '.csv'); //CSVファイルの保存先フォルダを指定 var id = '********************************'; //フォルダID var folder = DriveApp.getFolderById(id); //CSVファイルを作成 folder.createFile(blob); }

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。